如今我们看到WordPress官方建议我们安装的环境是PHP7.4+,甚至有一些朋友的网站是在PHP8.0环境运行,确实版本越高的PHP版本是执行效率提高不少。但是我们是否有考虑到有一些主题、插件的兼容支持。比如我们有一些朋友在使用的Crayon Syntax Highlighter代码高亮插件,由于这个高亮插件确实比较好用,而且功能也足够,所以官方也就没有再更新。
老蒋自己也有在用,看到在Crayon Syntax Highlighter插件在PHP7.4中兼容是不行的。
Warning: preg_replace(): Compilation failed: invalid range in character class at offset 4 in /www/wwwroot/www.laobuluo.com/wp-content/plugins/crayon-syntax-highlighter/crayon_langs.class.php on line 340
可以看到报错。
我们找到对应的报错行数。
return preg_replace('/[^\w-+#]/msi', '', $id);
更换成这样的代码即可解决问题。