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 );
Їм можна користуватися, не розуміючи ні слова. А дізнатися, що означають ці закарлючки, можна з посилань вище Smile happy


by phpfaq.ru