Crayon Syntax HighlighterがPHP7.4で出るエラーを修正

4年ほどアップデートされていないシンタックスハイライト用のプラグインなのですが、PHPを7.4にアップデートするとエラー表示されます。

preg_replace(): Compilation failed: invalid range in character class at offset 4

というエラーメッセージが表示されるので、crayon_langs_class.php の340行目

return preg_replace('/[^\w-+#]/msi', '', $id);
この正規表現部分の記述がPHPの仕様変更により、ハイフンを一番最後で指定するか、エスケープする必要があるので今回はエスケープして修正。
return preg_replace('/[^\w\-+#]/msi', '', $id);
これで該当のエラー表示がなくなります。
facebookでシェア このエントリーをはてなブックマークに追加 RSS