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);
これで該当のエラー表示がなくなります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください