Help есть текст: ************* <div>какой-то текст произвольный ля-дя<span>ИСКОМЫЙ ТЕКСТ1</span>какой-то произвольный текст</div> <div>чето есть</div> <span>есть текст231</span> <div>какой-то текст произвольный <span>ИСКОМЫЙ ТЕКСТ2</span>ля-ля, тополя какой-то произвольный текст</div> <div>чето есть</div> <span>есть текст</span> ************* какой одной регуляркой получить только ИСКОМЫЙ ТЕКСТ1 и ИСКОМЫЙ ТЕКСТ2
Вы мазохист? Пример в песочнице PHP: <?php $doc = new \DOMDocument; $doc->loadHTML('<?xml encoding="UTF-8">' .$str); $xpath = new \DOMXpath($doc); $elems = $xpath->query("//div/span"); foreach($elems as $span) { echo $span->nodeValue . PHP_EOL; }
PHP: <?php $str = <<<EOL <div>какой-то текст произвольный ля-дя<span>ИСКОМЫЙ ТЕКСТ1</span>какой-то произвольный текст</div> <div>чето есть</div> <span>есть текст231</span> <div>какой-то текст произвольный <span>ИСКОМЫЙ ТЕКСТ2</span>ля-ля, тополя какой-то произвольный текст</div> <div>чето есть</div> <span>есть текст</span> EOL; preg_match_all("/ИСКОМЫЙ\sТЕКСТ\d/ismU",$str,$mas); var_dump($mas[0]); \s в примере - пробел \d - любая цифра