Crayon Syntax Highlighterのエラー
PHPを 7.2から 7.3 にアップデートすると以下のエラーが出る。
Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in ...中略... /wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340
これは正規表現変更によるものらしい。上記ファイルの340行を以下のように変更すれば解決。
--- a/html/wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php +++ b/html/wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php @@ -337,7 +337,7 @@ class CrayonLang extends CrayonVersionResource { // Override function clean_id($id) { $id = CrayonUtil::space_to_hyphen( strtolower(trim($id)) ); - return preg_replace('/[^\w-+#]/msi', '', $id); + return preg_replace('/[^\w\-+#]/msi', '', $id); }
もう一つ
PHP Notice: A non well formed numeric value encountered in ...中略... /wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php on line 118
これは$font_sizeを$_font_sizeに変更すると解決。詳しくは下記リンクを参照。
--- a/wp/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php +++ b/wp/wp-content/plugins/crayon-syntax-highlighter/crayon_formatter.class.php @@ -115,8 +115,8 @@ class CrayonFormatter { $_line_height = $hl->setting_val(CrayonSettings::LINE_HEIGHT); // Don't allow line height to be less than font size $line_height = ($_line_height > $_font_size ? $_line_height : $_font_size) . 'px !important;'; - $toolbar_height = $font_size * 1.5 . 'px !important;'; - $info_height = $font_size * 1.4 . 'px !important;'; + $toolbar_height = $_font_size * 1.5 . 'px !important;'; + $info_height = $_font_size * 1.4 . 'px !important;';
参照[WordPress] BugFix the Crayon Syntax Highlighter with PHP 7.3
コメント
Crayon Syntax Highlighterのエラー — コメントはまだありません
HTML tags allowed in your comment: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>