Функция preg_match

Чтобы не писать миллион правил для отлова или сравнения по определенному шаблону...

используют регулярные выражения в PHP, и с ними очень удобно бывает использовать функцию preg_match, хотя она понимает не только регулярки и может работать с обычными словами.

Как работает

preg_match( string $pattern, string $subject, array &$matches = null, int $flags = 0, int $offset = 0 ): int|false

!! сразу скажу, что функция возвращает 0 или 1  / если совпадения есть, то 1, если нет - 0 

$pattern - в виде строки ($string) ищется в объекте $subject, который как мы видим тоже должен быть строкой.

Эти 2 обязательных параметра, для функции, но есть и дополнительные:

3) можно записать результат в массив $matches и затем с этими результатами работать

-- все, что далее это доп параметры, которые редко используются:

 4) $flags - флаги

PREG_OFFSET_CAPTURE - разбивает массив на доп массив с отдельными членами и показывает какой отступ в байтах

preg_match('/(foo)(bar)(baz)/', 'foobarbaz', $matches, PREG_OFFSET_CAPTURE); print_r($matches);

PREG_UNMATCHED_AS_NULL - заменяет несовпавшие маски на NULL 

то есть флаги начинающим программистам могут не пригодится.

5) $offset - укажет отступ в байтах для началах поиска, по-умолчанию ноль - то есть искать с начала.

 

Пример:

if (preg_match("/php/i""PHP is the best.")) {
    echo 
"Вхождение найдено.";
} else {
    echo 
"Вхождение не найдено.";
}

 i - в регулярках - регистронезависимость

Добавить комментарий


Защитный код
Обновить