Каков правильный синтаксис регулярного выражения для поиска нескольких вхождений одной и той же строки с preg_match в PHP?
Например, найдите следующую строку: TWICE в следующем абзаце:
$string = "/brown fox jumped [0-9]/"; $paragraph = "The brown fox jumped 1 time over the fence. The green fox did not. Then the brown fox jumped 2 times over the fence" if (preg_match($string, $paragraph)) { echo "match found"; }else { echo "match NOT found"; }
Вы хотите использовать preg_match_all()
. Вот как он будет выглядеть в вашем коде. Фактическая функция возвращает количество найденных элементов, но массив $matches
matches будет содержать результаты:
<?php $string = "/brown fox jumped [0-9]/"; $paragraph = "The brown fox jumped 1 time over the fence. The green fox did not. Then the brown fox jumped 2 times over the fence"; if (preg_match_all($string, $paragraph, &$matches)) { echo count($matches[0]) . " matches found"; }else { echo "match NOT found"; } ?>
Вывод:
Найдено 2 совпадений