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

itlao6 WordPress 工具&方法评论1,200字数 1096阅读3分39秒阅读模式

前言:升级PHP7.4有一段时间了,发现有部分之前的文章时打开报错,原来是换个插件兼容性的问题;在大鸟博客找到了修复方案,这里复制过来,做个备份,以防后续再遇到该问题无法解决。

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

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

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

错误截图:文章源自IT老刘-https://itlao6.com/9162.html

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

###解决###

解决之前顺带说下如何安装该插件,其实插件很好用,就是4年不更新了。(老五:实际已经6年未更新了,原文是2020年写的)文章源自IT老刘-https://itlao6.com/9162.html

1、安装插件

安装插件的话,请在wp后台搜索Crayon Syntax Highlighter 安装即可,看图:文章源自IT老刘-https://itlao6.com/9162.html

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

别看错了,是那款4年没更新的插件。文章源自IT老刘-https://itlao6.com/9162.html

2、解决问题

在7.1版本中没发现这个问题,看来是PHP版本太高,因为新版本语法或表达的变化造成的报错。文章源自IT老刘-https://itlao6.com/9162.html

解决的办法也很简单,找到报错的文件与行数,进行修改即可,报错的文件是crayon_langs.class.php的340行。文章源自IT老刘-https://itlao6.com/9162.html

1)找到错误的文件:wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340文章源自IT老刘-https://itlao6.com/9162.html

2)修改340行,具体修改后的代码如下:文章源自IT老刘-https://itlao6.com/9162.html

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

报错的代码:文章源自IT老刘-https://itlao6.com/9162.html

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

3)为啥会报错,因为 [ 是正则中特殊字符,需要用 \ 反斜杠转义文章源自IT老刘-https://itlao6.com/9162.html

3、拓展

正则中常见的需要转义的特殊字符?文章源自IT老刘-https://itlao6.com/9162.html

\. \/   \[  \(  \(  \d

4、效果

效果非常不错,很多主题,和字体可以选择,还有中文版本。文章源自IT老刘-https://itlao6.com/9162.html

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

6、最后

这款插件应该很多童鞋再用,确实不错,功能强大,设置简单,加载速度也非常快,实在是高亮插件里非常好的选择之一。文章源自IT老刘-https://itlao6.com/9162.html

原文转自:大鸟博客文章源自IT老刘-https://itlao6.com/9162.html 文章源自IT老刘-https://itlao6.com/9162.html

继续阅读
weinxin
我的微信公众号
微信扫一扫关注公众号,不定时更新
itlao6
  • 本文由 发表于 2022年 8月 7日 14:46:00
  • 转载请务必保留本文链接:https://itlao6.com/9162.html
评论  0  访客  0
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定