PHP7.3で起きるWPプラグインCrayon Syntax Highlighterのエラーを直す方法

WP Plugin

PHPを7.3にバージョンアップした際、WordPressのプラグイン「Crayon Syntax Highlighter」を使っているページがエラーで表示されない問題が発生しました。なんとこのプラグイン、2013年に開発が終了となっていました!そりゃPHPのバージョンアップに耐えられるわけないよね。。

ということで、Crayon Syntax Highlighterプラグインのソースを直にいじって直すことにしました。たった1行書き換えるだけなので楽勝です。

crayon_langs.class.phpを修正する

crayon_langs.class.php

crayon_langs.class.php

Crayon Syntax Highlighterプラグインフォルダの中に、crayon_langs.class.phpというファイルがあります。

こちらの340行目にある、正規表現(preg_replace)のところでエラーが発生しています。

function clean_id($id) {
    $id = CrayonUtil::space_to_hyphen( strtolower(trim($id)) );

    // 元の1行をコメントアウト
    // return preg_replace('/[^\w-+#]/msi', '', $id);

    // 正しい正規表現を追加
    return preg_replace('/[^\w+#-]/msi', '', $id);
}

// 正規表現の違い
// preg_replace('/[^\w-+#]/msi', '', $id);
// preg_replace('/[^\w+#-]/msi', '', $id);

この一行を上記の新しい正規表現に差し替えれば完了です。

ただ、根本的な改善にはならないので、今後PHPのバージョンアップでさらにエラー等が発生していくことは予想できるので、新しいプラグインに乗り換えるなどの施策も検討する必要がありそうです。

三上 龍志|株式会社シンシエイト
この記事を書いた人
三上 龍志|株式会社シンシエイト
2005年からWeb制作に従事。システム開発ベンチャーでエンジニアとしてWeb開発、Webコンサルティング会社でマーケター・新規事業開発を経て2015年に当社を創業。顧客の成果に顧客よりも本気になることをテーマに、Webを通じて顧客の事業を加速させるために日々奮闘中。
関連する記事
WordPress Popular Postsをカスタマイズ
WPPのデザインとレイアウトをカスタマイズして自作テンプレートを作る方法
WPプラグイン
さよならスパム!ワードプレスのAkismetプラグインの設定・アクティベート方法
WPプラグイン
tinyMCE advanced
WP必須プラグイン!TinyMCE Advancedの使い方・設定方法
WPプラグイン
YARPPでタイトルと内容が選択できない
【YARPP】関連スコア設定のタイトルと内容を「検討する」に変更する方法(上級者向け)
WPプラグイン
WordPressプラグイン TwentyTwenty
2枚の画像を比較するWordPressプラグインTwentyTwentyの使い方
WPプラグイン
NO IMAGE
WPプラグインのAll in One SEO Packでサイトマップ生成時のエラー解決策
WPプラグイン
WordPress Popular Postsとは
WordPress Popular Posts(WPP)の使い方とオススメの設定方法
WPプラグイン
NO IMAGE
WPプラグインJetpackでオススメの厳選10の機能と設定方法
WPプラグイン
YARPP
YARPPの表示位置を任意の場所に変更する方法(上級者向け)
WPプラグイン
YARPP
Yet Another Related Posts Plugin(YARPP)のオススメ設定と機能概要
WPプラグイン
マーケティングとWeb制作で
貴社の経営課題を解決します

市場調査や競合調査を始め、企業やサービスの優位性を理解した上で、UI/UX設計やコンテンツマーケティング、SEO・ネット広告を中心としたWebマーケティングを通じて、ビジネスを加速させるご提案をしています。