tohokuaikiのチラシの裏

技術的ネタとか。

preg_replaceのe修飾子の挙動と後方参照

http://d.hatena.ne.jp/teracc/20080606#20080606fn1

preg_replace関数にe修飾子が付く場合、後方参照する変数に含まれる「"」などの文字は、PHPにより自動でaddslashesされるからです*1。

昔から、よくわからなかったのが、preg_replaceで後方参照する時にシングルクォートで囲わなければいけないってこと。

3年前にPHP-Usersに投げた投稿だけど、
[PHP-users 25894] preg_replaceのe修飾子でオブジェクトのメソッドを使う

ここ、実はいまだにわかってなかったりする。

なんつーか、そもそもe修飾子を使ったことがほとんどないっていうのが理由でもある。使わないと覚えないからなー。

もう一回読んで追記する予定。