ワードプレスで、Warning: preg_replace(): Unknown modifier と表示される場合の原因と対策を解説いたします


Warning: preg_replace(): Unknown modifier の意味

このワーニングは、preg_replace という文字列の置き換え処理において、置き換え元の正規表現の最後の文字が不正であるという事になります。

正規表現とは、文字列を抽象化して一致させる特殊な表現方法で、例えばアルファベットに一致させる正規表現として[a-z]と表現できます。

正規表現の修正

正規表現は下記のような形で記載されます。//は正規表現のくくりのようなもので、その間にあるのが正規表現の本体です。最後のiは大文字と小文字を区別しないという指示文字になります。
Unknown modifier はこの指示文字が不正であるという意味になります。

/[a-z]+/i

正規表現御描き方に矛盾があったりすると、プログラムが指示文字を取得できなかったり、指示文字自体が存在しない場合に Warning: preg_replace(): Unknown modifier エラーとなります。

正規表現の整合性を確かめる

https://regex101.com/
というサイトでオンラインで正規表現の動作を確認することが可能です。

上図のように正規表現にエラーがある場合は、pattern errorと表示され、その個所が表示されますので大変便利なサービスです。
正規表現関連のエラーが出たり、正規表現を作成する際はお試しください。

WordPress ワードプレスのエラーの修正の代行をいたします。お気軽にご依頼・ご相談お送りください