050-3740-3773

長野・東京でホームページ制作

平日火曜-土曜日 11:00-18:00
050-3740-3773

長野・東京でホームページ制作

平日火曜-土曜日 11:00-18:00
2020/08/19
ライター:hiro

PHPエラー(Warning: preg_replace_callback(): Compilation failed:)

PHP7.2系から7.3系にアップグレードするときに出るエラーでpreg系の関数の正規表現で

Warning: preg_replace_callback(): Compilation failed: invalid range in character class at offset

のようなWarningが出るようになってしまいました。

今回はこれの対応の仕方をシェアしたいと思います。

正規表現の中で – (半角ハイフン)を使ってると出るみたいです。

範囲で使っている所はいいのですが、例をあげると

[A-Za-z]

こういった書き方ですね。大文字のAからZまで、小文字のaからzまでという意味になります。

これはWarningでません。

単体で – を使っている所が範囲を指定してくれとWarningが出るみたいです。

なので \- のように単体のハイフンをエスケープ処理してあげると範囲のハイフンではなく、文字としてのハイフンと認識してくれるのでWarningが回避できます。

« ブログのトップに戻る

トップへ戻る

飛行機アイコン
ライン ロゴ








お問合せ ご相談