|
Последние активные темы форума |
|
preg_quote
(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
);
?>
|
|
Замечание: Эта функция безопасна
для обработки данных в двоичной форме.
|