Drupal 開発ディレクター兼エンジニアが仕事、育児、本など雑多に書くブログ

preg_quoteで文字列をエスケープ処理する

PHP関数の一つ。 www.php.net

渡した文字列の中から正規表現特殊文字を探してエスケープ処理してくれる。 以下が定義されている特殊文字

正規表現特殊文字は、次のものです。 . \ + * ? [ ^ ] $ ( ) { } = ! < > | : - #

preg_quote($keywords, '/')のように後ろにデリミタをつけることで、スラッシュもエスケープさせて使うのが一般的。

preg_matchする時にこれを組み合わせれば、入力された文字列に関係なく正規表現が通るようになるので便利。

正規表現自体は、うーんなかなか難しいです。