PHP7.3/7.4版本以后,Wordpress安装Crayon Syntax Highlighter插件报错
报错描述
问题:Compilation failed: invalid range in character class at offset 4。
报错原因
这是php7.3以后preg_replace函数语法出现了变化,导致语法高亮插件Crayon Syntax Highlighter安装后出现的问题,定位到插件目录下crayon_langs.class.php文件第340行(Crayon版本 2.7.2)。
preg_replace('/[^\w-+#]/msi', '', $id);
修改后的代码如下
function clean_id($id) { $id = CrayonUtil::space_to_hyphen( strtolower(trim($id)) ); // PARSED_ERRORS //return preg_replace('/[^\w-+#]/msi', '', $id); // So return preg_replace('/[^\w\-+#]/msi', '', $id); }