2015年04月15日に投稿

[PHP] preg_replace と mb_ereg_replace の違いと注意点

正規表現で文字列の置換を行う関数の preg_replace と mb_ereg_replace ですが、マニュアルを説明を見る限り mb_ereg_replace はマルチバイト文字列に対応しているだけだろうと思い込んでいました。しかし、第一引数の正規表現の渡し方に違いがあるため注意が必要です。

preg_replace の場合は第一引数の正規表現でセパレーターを使用します。mb_ereg_replace では第一引数の正規表現でセパレーターを使用しません。例として、それぞれの関数で「こんにちは」という文字列の「んにち」を「んばん」に置き換えてみます。

preg_replace の場合

mb_ereg_replace の場合

参考
preg_replace
http://php.net/manual/ja/function.preg-replace.php

mb_ereg_replace
http://php.net/manual/ja/function.mb-ereg-replace.php

関連記事

Leave a Reply