PHP регулярні вирази

Готові регулярні вирази PHP #1. Пошук, заміна, видалення тегів та тексту

Регулярні вирази (їх ще називають regexp, або regex) — це формальна мова, яку використовують програмісти у своїх програмах, для пошуку та здійснення маніпуляцій з підрядками в тексті.

Простими словами — це мова пошуку підрядка або підрядків у тексті.

Регулярні вирази ґрунтуються на використанні метасимволів.

Для пошуку використовується рядок-зразок, який визначає правило пошуку (його дуже часто називають «шаблоном» або «маскою»). Цей рядок складається з символів та метасимволів.

Для маніпуляцій з текстом (наприклад, для пошуку і заміни) додатково задається рядок заміни, який також може містити спеціальні символи.

Приклади регулярних виразів PHP

Видалити вміст тега <a>

$str = preg_replace('#(<a.*?>).*?(</a>)#', '$1$2', $str)

Видалити зображення <img>

$str = preg_replace('~(<a\b[^>]*>)?<img[^>]*>(</a>)?~i', '', $str);

Видалити посилання з певним класом <class>

$str = preg_replace('/<a.*class=("|\').*тут_пишем_класс("|\').*>.*<\/a>/Ui', '', $str);

Видалити тег <div> і його вміст

$str = preg_replace('/<div[^>]*?>[\s\S]*?<\/div>/i', '', $str);

Видалити всі пусті теги <p>

$str = preg_replace('/<p[^>]*>(\s{0,}(<[a-z]*[^>]*>){0,}\s{0,}){0,}<\\/p>/', '', $str);

Видалити <noindex> і <nofollow>

$str = preg_replace('<noindex>.*?<\/noindex>|<a[^>]+rel=\s*["'][^>]*nofollow["'][^>]*>.*?<\/a>', '', $str) 

Main Menu