てきとうなさいと べぇたばん

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の辛いところでした。ひとまずよろしくお願いします。

2026/04/25 15:54