Регулярные выражения — удобный инструмент для работы с текстом. С помощью них можно осуществлять поиск, замену фрагментов текста, по шаблону, который описан посредством специального синтаксиса и модификаторов.
Найти все e-mail адреса в тексте, заменить адреса сайтов на ссылки, найти повторяющиеся слова в предложении — примерно такие задачи решаются при помощи регулярок.
Если вы еще не умеете составлять регулярные выражения и вас ввводит в замешательство, когда в коде вы видите что-то такое: /^[a-zA-Z0-9\s]{2,}$/
то начать можно с этих статей:
Регулярные выражения для самых маленьких
Или
Регулярные выражения, Часть I
Регулярные выражения, Часть II
Если вы хотите стать настоящим экспертом в регулярных выражениях, то по ним написана целая книга: Дж.Фридла "Регулярные выражения", которую можно скачать здесь.
Функции для работы с регулярными выражениями
Для работы с регулярными выражениями в PHP имеется ряд функций. Найти описание каждой из них вы можете по ссылке: Функции PCRE
Чаще всего приходится пользоваться функцией preg_replace — она выполняет замену подстроки по шаблону.
Кстати есть и другие способы поиска подстроки.
На втором месте по популярности preg_match — позволяет узнать соответствует ли строка регулярному выражению и получить массив с результатами поиска.
Также довольно часто используется preg_match_all — усовершенствованный вариант preg_match
, который ищет не одно, а все соответствия шаблону в тексте.
А вот и простой пример, который поможет понять принцип работы функции preg_match
$html = 'content <title>hello php!</title> content'; if (preg_match("!<title>(.*?)</title>!si", $html, $matches)){ echo $matches[1]; } else { echo "Тег не найден"; }
Сервисы для работы с регулярными выражениями
https://regexr.com/ составление регулярных выражений — трудоемкий процесс, и с первого раза можно составить только самые простые шаблоны. Сервис regexp поможет протестировать ваш код в режиме реального времени, и сразу увидеть какие фрагменты текста затрагивает ваш код.
http://www.txt2re.com/ — конструктор регулярок для ленивых. Хотя для начала нужно побороть лень, чтобы разобраться как он работает.
Если вам нужна помощь в составлении регулярки — пишите в комментариях.