説明
string preg_quote(string $str
, stringnull $delimiter
= null
)
正規表現の特殊文字は、次のものです。
. \ + * ? [ ^ ] $ ( ) { } = ! < > | : - #
/
は正規表現の特殊文字ではないことに注意しましょう。
注意:
preg_quote は、
preg_replace などにおける $replacement
文字列に使うことを想定したものではありません。
パラメータ
-
str
-
入力文字列。
-
delimiter
-
オプションの 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);
?>
注意
注意: この関数はバイナリデータに対応しています。