mbregex(mb_ereg系関数)がPHP 8.6で非推奨、PHP 9.0で削除となるRFCが可決されました
TOP > てきとうにこらむ > プログラミング日記 > mbregex(mb_ereg系関数)がPHP 8.6で非推奨、PHP 9.0で削除となるRFCが可決されました
mbregex(mb_ereg系関数)がPHP 8.6で非推奨、PHP 9.0で削除となるRFCが可決されました
2026年4月25日、以下RFCが可決となりました。
https://wiki.php.net/rfc/eol-oniguruma
これによって、PHP 8.6でmb_ereg系関数がDeprecate、PHP 9で削除されます。鬼車がメンテナンス終了したので、そうするしかなかったのです。
考えられる移行方法
RFCに書いてあるとおり、影響範囲がかなり大きく、まだ使っているコードはたくさんあります。オープンソースプロジェクトでこれだけあると、プロプライエタリなソフトウェアではたくさんありそうです。
したがって、以下のような移行方法が考えられます。
PCREに移行
もちろん、正規表現が同じなわけではありませんが、PCRE(preg_*系関数)に移行するのが良いでしょう。ただし、UTF-8しか対応してないところも気をつけるポイントでしょうか。
mb_onigに移行
どうしても移行できないとするならば、私が作った mb_onig に移行してください。
PHP 8系ではまだmbregexが生きているので、 --disable-mbregex が必要となります。あとは私を信用できるかでしょうか。
感想
とても重たい決断でした。また、調整がとても大変だったのもこのRFCの辛いところでした。ひとまずよろしくお願いします。













