プラグイン「Crayon Syntax Highlighter」
記事内でコードを美しく表示させるプラグイン「Crayon Syntax Highlighter」
さくらインターネットからPHPバージョンアップのお知らせ
ご利用のさくらのレンタルサーバにおきまして、2019年7月3
日(水)に
PHPのバージョンを7.2から「7.3」へ自動的に変更させていただきます。
と連絡が来ていたが、特に問題ないだろうと思っていたら、バージョンアップ後に
Warning: preg_replace()発生
Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in /home/kids-infinity/www/wxy/wp/wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340
と言うワーニングがでて
管理画面の記事詳細画面もこんな感じで、記事の登録や変更も出来ない。
原因は
warninngなので、エラー表示をしないようにすれば回避可能だが、気持ち悪いので修正することにした。
ちょっと調べてみたら、PHP7.3から、正規表現で「-」ハイフンもエスケープしないとワーニングになるなしい。。。
対処方法
と言うことで、wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php の340行目を見ると
return preg_replace('/[^\w-+#]/msi', '', $id);
これだ
return preg_replace('/[^\w\-+#]/msi', '', $id);
ハイフンをエスケープして、更新。
結果
ワーニングは無くなりました。
ただ、プラグイン「Crayon Syntax Highlighter」はメンテされていないようだし、コード表示用の別のものを探そう。。。。
追伸
Highlighting Code Block を使ってみよう!