This webpage has been robot translated, sorry for typos if any. To view the original content of the page, simply replace the translation subdomain with www in the address bar or use this link.

PHP Регулярные выражения.


Что такое регулярные выражения?
Это замечательный инструмент для работы с текстом.
Такой же революционный, по сравнению с обычными строковыми функциями, как БД - по сравнению с текстовыми файлами. Это специальный язык для работы с текстом. Причём подчас одна строчка с использованием регулярных выражений может заменить страницу другую обычного кода!

С помощью регулярных выражений можно эффективно искать фрагменты текста любой сложности, заменять одни вхождения на другие.
Основа регулярного выражения - шаблон. С его помощью мы описываем формат нужного нам фрагмента текста, а затем либо проверяем, подходит ли текст под шаблон, либо выразаем одно или несколько вхождений шаблона, либо заменяем на какой-либо текст.

В данном топике собраны все ссылки, которые помогут вам быстро освоить и эффективно использовать регулярные выражения.
Во-первых, это прекрасные статьи для начинающих Сергея Колесниченко (Yukko)
Регулярные выражения, Часть I
Регулярные выражения, Часть II
Материал изложен в лёгкой и доступной форме, снабжён примерами решения часто встречающихся задач. Служит для первичного знакомства с предметом.

При практическом же использовании не обойтись без справочных материалов официальной документации.
В PHP поддерживается два стандарта регулярных выражений - POSIX и PCRE.
Первый считается более устаревшим и медленным, вы не найдёте по нему хороших примеров и даже документация не переведена на русский.
По PCRE (функции preg_*) документация очень солидная.
Во-первых, это подробнейшее изложение синтаксиса и пояснение значения всех спецсимволов - Синтаксис регулярных выражений
Во-вторых, - Общее описание, список функций и полезные комментарии
В-третьих, пояснение довольно важного элемента - Модификаторов шаблонов
Ну, и документация на все функции, разумеется. Основными из которых являются preg_match, preg_match_all и preg_replace с незаменимыми комментариями пользователей.
Всё (кроме комментариев) - на русском языке.

Нельзя, так же, обойти вниманием фундаментальный труд столпа российского PHP Дмитрия Бородина,
Регулярные выражения в PHP (сравнение Perl и PHP)

Так же можно скачать знаменитую книгу Дж.Фридла "Регулярные выражения" в формате DjVu.
Книга написана с примерами на Perl, но разобраться там несложно.

В изучении и работе с регулярными выражениями может пригодиться программа Regex Coach, с помощью которой можно наглядно увидеть, как отрабатывается тот или иной операнд шаблона.

чтобы данный текст не выглядел сухой теорией, приведем пример решения наиболее распространённой задачи - "подсветка ссылок" или превращение http://phpfaq.ru в ссылку
$text=preg_replace("#(https?|ftp)://\S+[^\s.,>)\];'\"!?]#",'<a href="\\0">\\0</a>',$text);
Им можно пользоваться, не понимая ни слова. А узнать, что означают эти закорючки, можно из ссылок выше :-)


by phpfaq.ru

Created/Updated: 25.05.2018

stop war in Ukraine

ukrTrident

stand with Ukraine