PHP 5.4.1 以降の mbstring の変更点

mb_ereg_replace_callback() の追加(PHP 5.4.1)

PHP 5.4.1 で mb_ereg_replace_callback() が追加されました。正規表現にマッチした文字列に対してコールバック関数による置換ができます。以前から、mb_ereg_replace() のオプションに "e" を設定すると同様のことはできましたが、信頼できない入力に使用するとリモートから PHP スクリプト実行される可能性がありました。
同様の関数として、preg_replace_callback() があります。ただし、置換文字列の文字エンコーディングがシングルバイト(ASCII, ISO-8859-1 など)または、UTF-8(u 修飾子を使用)に限られます。preg_replace_callback() は PHP 4.1.0(Win32 では、PHP 4.2.3)からサポートされています。

mb_substr() と mb_strcut() の第3引数に NULL が指定可能になった(PHP 5.4.8)

PHP 5.4.8 で mb_substr() と mb_strcut() の第3引数($length)に NULL が指定可能になりました。PHP 5.4.7 以前では、mb_substr() と mb_strcut() の第4引数($encoding)に文字エンコーディングを設定したい場合、第3引数を省略できませんでした。
ただし、第4引数を省略した場合、php.ini の mbstring.internal_encoding や mb_internal_encoding() で設定した文字エンコーディングが適用されます。このため、通常は第4引数を指定する必要はありません。