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()の例

$keywords="$40 for a g3/400";
$keywords = preg_quote ($keywords, "/");
echo $keywords; // \$40 for a g3\/400 を返します。

例 2. テキストの中の単語を置換する

// この例では、preg_quote($word) が正規表現の特殊文字であるアスタリス
// クを保持するために使用されています。

$textbody = "This book is *very* hard to find.";
$word = "*very*";
$textbody = preg_replace ("/".preg_quote($word)."/",
                         "<i>".$word."</i>",
                          $textbody);