Функция PHP preg_match_all()
Регулярные выражения PHP (PCRE)
Функция preg_match_all используется для выполнения глобального сопоставления с регулярным выражением.
Синтаксис
int preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = PREG_PATTERN_ORDER [, int $offset = 0 ]]] )
Выполняет поиск в subject всех совпадений с регулярным выражением, заданным в pattern, и выводит их в matches в порядке, указанном в flags.
После того как найдено первое совпадение, последующие поиски продолжаются с позиции последнего совпадения.
Описание параметра:
$pattern: шаблон для поиска, в виде строки.
$subject: входная строка.
$matches: Многомерный массив, который выводит все результаты совпадений в качестве выходного параметра. Порядок массива задаётся flags.
$flags: Можно использовать со следующими флагами (обратите внимание, что PREG_PATTERN_ORDER и PREG_SET_ORDER нельзя использовать одновременно):
PREG_PATTERN_ORDER: Результаты упорядочиваются так, что $matches
PREG_SET_ORDER: Результаты упорядочиваются так, что $matches
PREG_OFFSET_CAPTURE: Если передан этот флаг, каждое найденное совпадение также будет включать своё смещение относительно целевой строки при возврате.
offset: Обычно поиск начинается с начала целевой строки. Необязательный параметр offset используется для начала поиска с указанной позиции в целевой строке (в байтах).
Возвращаемое значение
Возвращает количество полных совпадений (может быть 0) или FALSE при возникновении ошибки.
Примеры
Найдите содержимое, соответствующее тегам <b> и </b>:
Результат выполнения выглядит следующим образом:
Array
(
[0] => <b>PHP</b>
[1] => <b>Programming Language</b>
)
Найти совпадающие HTML-теги (жадно):
Результат выполнения выглядит следующим образом:
matched: <b>bold text</b> part 1: <b> part 2: b part 3: bold text part 4: </b> matched: <a href=howdy.html>click me</a> part 1: <a href=howdy.html> part 2: a part 3: click me part 4: </a>Другие расширения