Регулярные выражения (их еще называют 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) 