您当前的位置:首页 > 计算机 > 服务器 > 万维网站 > WordPress

wordpress代码高亮插件Crayon Syntax Highlighter在PHP7.4报错解决办法

时间:02-28来源:作者:点击数:

Crayon Syntax Highlighter是一款强大的代码高亮插件,强大的地方主要是它拥有多种高亮主题和多种显示字体来展示代码让使用者有足够多的搭配选择,另一方面就是其加载速度快,可以解析代码中的html,并且着色效果更好。

安装的方法很简单只要在wordpress后台搜索名称安装设置即可,后台设置灵活,插入代码方便。遗憾的是插件4年没有更新了。如果你在PHP7.4环境中安装这款插件,你的wordpress会提示:

Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in /www/wwwroot/dd.fdao.xyz/wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340

错误截图:

wordpress代码高亮插件Crayon Syntax Highlighter在PHP7.4报错解决办法

###解决###

解决之前顺带说下如何安装该插件,其实插件很好用,就是4年不更新了。(老五:实际已经6年未更新了,原文是2020年写的)

1、安装插件

安装插件的话,请在wp后台搜索Crayon Syntax Highlighter安装即可,看图:

wordpress代码高亮插件Crayon Syntax Highlighter在PHP7.4报错解决办法

别看错了,是那款4年没更新的插件。

2、解决问题

在7.1版本中没发现这个问题,看来是PHP版本太高,因为新版本语法或表达的变化造成的报错。

解决的办法也很简单,找到报错的文件与行数,进行修改即可,报错的文件是crayon_langs.class.php的340行。

1)找到错误的文件:wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340

2)修改340行,具体修改后的代码如下:

return preg_replace('/\[^\w-+#]/msi', '', $id);

报错的代码:

return preg_replace('/[^\w-+#]/msi', '', $id);

3)为啥会报错,因为 [ 是正则中特殊字符,需要用 \ 反斜杠转义

3、拓展

正则中常见的需要转义的特殊字符?

\. \/   \[  \(  \(  \d
4、效果

效果非常不错,很多主题,和字体可以选择,还有中文版本。

wordpress代码高亮插件Crayon Syntax Highlighter在PHP7.4报错解决办法
5、最后

这款插件应该很多童鞋再用,确实不错,功能强大,设置简单,加载速度也非常快,实在是高亮插件里非常好的选择之一。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门