(PHP 3 >= 3.0.9, PHP 4, PHP 5)
preg_quote -- Экранирует символы в регулярных выражениях
Описание
string
preg_quote ( string str [, string delimiter] )
Функция preg_quote() принимает строку str
и добавляет обратный слеш перед каждым служебным символом.
Это бывает полезно, если в составлении шаблона участвуют строковые переменные,
значение которых в процессе работы скрипта может меняться.
В случае, если дополнительный параметр delimiter указан,
он будет также экранироваться. Это удобно для экранирования ограничителя,
который используется в PCRE функциях. Наиболее распространенным ограничителем
является символ '/'.
В регулярных выражениях служебными считаются следующие символы:
. \\ + * ? [ ^ ] $ ( ) { } = ! < > | :
Пример 1. preg_quote() пример
<?php $keywords = "$40 for a g3/400"; $keywords = preg_quote($keywords, "/"); echo $keywords; // возвращает \$40 for a g3\/400 ?>
|
|
Пример 2. Выделение курсивом слова в тексте
<?php // В данном примере preg_quote($word) используется, чтобы // избежать трактовки символа '*' как спец. символа.
$textbody = "This book is *very* difficult to find."; $word = "*very*"; $textbody = preg_replace ("/" . preg_quote($word) . "/", "<i>" . $word . "</i>", $textbody); ?>
|
|
Замечание: Эта функция безопасна
для обработки данных в двоичной форме.