++x
является предварительным приращением ->
x увеличивается до использования x++
является пост-инкрементом ->
x увеличивается после использования
int x = 7; -> x get 7 value <br>
x = x++; -> x get x value AND only then x is incremented
preg_match("'<p class=\"review\">(.*?)</p>'si", $source, $match);
if($match) echo "result=".$match[1];
Что делать, если строка, которую вы сопоставляете, состоит из нескольких строк и:
<p class="review"> Desired text1 </p>
<p class="review"> Desired text2 </p>
<p class="review"> Desired text3 </p>
Этот шаблон будет соответствовать один раз, и совпадением будет все в строке.
Я думаю, что лучший шаблон:
"'<p class=\"review\">([^<]*)</p>'si"
, если вы хотите вернуть несколько совпадений, необходимо использовать 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