mb_ereg_replace関数でe修飾子を使ってevalする場合の注意点をまとめてみました。 概要 マニュアルの下記引用部にもあるとおり、mb_ereg_replace関数はe修飾子の指定があっても特にエスケープなどを行いません。 信頼できない入力に対しては、絶対に e 修正子を使用してはいけません。 (preg_replace() と同様、) 自動的なエスケープは行いません。このことを忘れていると、自分の書いたアプリケーションにリモートコード実行の脆弱性を作りこんでしまうことになります。 PHP: mb_ereg_replace - Manual preg_replaceでe修飾子をつけた場合、後方参照について自動でaddslashes相当のエスケープを行ってくれます(「例えばPHPのpreg_replace関数でe修飾子を避ける」参照)ので、この点において両者は挙動が異なっているわ