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