Подмена URL и РНР

Регулярные выражения поддерживаются и в РНР. Всякий раз, когда требуется выполнить операции со строками, которые слишком трудны для обычных РНР-функций строковой обработки (http://www.php.net/strings) , могут очень пригодиться
функции обработки регулярных изображений — конечно, если вы научились с ними работать.
Необходимо помнить одну вещь: обычные функции обработки строк РНР работают гораздо быстрее, чем регулярные выражения — поэтому их следует применять только в случае необходимости.
Например, если требуется просто проверить, входит ли одна строка в состав
другой, использование функции strpos() или strstr () будет гораздо более эффективным, чем применение preg_match ( ) .
В РНР имеется много функций для работы с регулярными выражениями. Наиболее популярные из них приведены для вашего удобства в табл. 3.5. В примерах данной книги применяются только наиболее часто используемые функции — preg_match () и preg_replace ( ) , но неплохо ознакомиться и с остальными. Дополнительную информацию см. по адресу http://www.php.net/pcre .
Таблица 3.5. Популярные функции для работы с регулярными выражениями
Функция РНР Описание
preg_ grep - Принимает в качестве параметров регулярное выражение и массив
входных строк. Возвращает массив с входными элементами, которые
соответствуют образцу.
Подробнее см.http://www.php.net/preg grep.
preg_ match - Принимает в качестве параметров регулярное выражение и строку.
Если соответствие обнаружено, то функция возвращает 1, иначе возвращает 0. Функция не выполняет поиск последующих соответствий:после обнаружения одного соответствия ее выполнение прекращается.
Подробнее см.http://www.php.net/preg_match.
preg match all Аналогично preg match, но выполняется поиск всех соответствий.
После обнаружения первого соответствия п о и с к продолжается
дальше до конца строки.
Подробнее см.http://www.php.net/preg match all .
pregquote - Литерализует все специальные символы регулярных выражений во
входной строке с помощью символа обратного слэша. Подробнее
см. http://www.php.net/preg_quote.
pregrepiace - Заменяет найденные части строки указанным выражением.
Принимает три необязательных параметра: образец для поиска соответствия,
заменяющее выражение и входная строка. Подробнее см.http://www.php.net/preg_replace.
preg_replace_callback - Аналогично preg_replace, но вместо заменяющего выражения указывается функция, которая возвращает заменяющее выражение.
Подробнее см.http://www.php.net/preg_replace_callback.
preg_split - Разбивает строку на части так, как указано в регулярном выражении.
Результирующие подстроки возвращаются в виде массива.
Подробнее см.http://www.php.net/preg_split.
В отличие от modrewrite , передаваемые PHP-функциям регулярные выражения
нужно заключать в символы-ограничители. Таким символом может быть любой символ, но если он встречается и в самом регулярном выражении, его необходимо литерализовать с помощью обратного слэша ( \ ) . В приведенных здесь примерах в качестве ограничителя используется символ #. Поэтому если в вашем выражении нужен литерал #, его следует записать как \#.