preg_quote を使うことで正規表現に意味のあるメタ文字をエスケープすることが出来ます。
CGIから入力された値を安全にする場合に便利ですね。
$str = "a(.+)aa";
$str2 = preg_quote($str);
とすることで a\(\.\+\)aa に変換されます。
preg_match などでマッチさせる場合に、正規表現にエラーがあるとエラー表示されてしまうので、任意の値が渡されて正規表現にエラーが出そうな場合はこの文字列でメタ文字を無効にしておきましょう。
スポンサードリンク
PHPサンプル集