Preg совпадение текста в php между тегами html

++x является предварительным приращением -> x увеличивается до использования x++ является пост-инкрементом -> x увеличивается после использования

int x = 7; -> x get 7 value <br>
x = x++; -> x get x value AND only then x is incremented
20
задан David Willis 19 October 2009 в 03:00
поделиться

3 ответа

preg_match("'<p class=\"review\">(.*?)</p>'si", $source, $match);
if($match) echo "result=".$match[1];
68
ответ дан 29 November 2019 в 22:30
поделиться

Что делать, если строка, которую вы сопоставляете, состоит из нескольких строк и:

<p class="review"> Desired text1 </p>
<p class="review"> Desired text2 </p>
<p class="review"> Desired text3 </p>

Этот шаблон будет соответствовать один раз, и совпадением будет все в строке.

Я думаю, что лучший шаблон:

"'<p class=\"review\">([^<]*)</p>'si"
7
ответ дан 29 November 2019 в 22:30
поделиться

, если вы хотите вернуть несколько совпадений, необходимо использовать preg_match_all (). Затем вы перебираете вторую группу результатов ($ match [1]), чтобы получить только содержимое между тегами.

$source = "<p class=\"review\"> Desired text1 </p>".
"<p class=\"review\"> Desired text2 </p>".
"<p class=\"review\"> Desired text3 </p>";


    preg_match_all("'<p class=\"review\">(.*?)</p>'si", $source, $match);

    foreach($match[1] as $val)
    {
        echo $val."<br>";


    }

Outputs:

Desired text1
Desired text2
Desired text3 
11
ответ дан 29 November 2019 в 22:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: