特别推荐项目:

挂机邦小小影视趣闲赚折头条优惠券袋熊视频鱼余兼职美团拍店蹲到所有V视宝
等待添加等待添加等待添加等待添加等待添加等待添加等待添加等待添加等待添加等待添加
我要投稿免费推广项目:点击进入
A-A+

wordpress升级PHP后评论出错Warning: preg_replace(): The /e modifier is no longer supported

2019年05月26日 建站学习 暂无评论

今日推荐:正规挂机赚钱项目,已提5000元!

下载地址:http://zzr6.com/go/guajibang.htm

 
  • WordPress 5.2.1更新

使用wordpress的朋友不知道遇到过这个问题没,最近WordPress 5.2.1新版本出来了,很多想更新版本的朋友不能更新,因为您现在的PHP版本是5.4,低于5.6版本的wordpress都没办法更新到WordPress 5.2.1,所以现在您要做的是升级PHP版本,使用宝塔面板的朋友很轻松,只需要到宝塔面板,点击wordpress网站,选择PHP版本,修改为5.6以上(前提是安装了PHP版本,没安装到软件管理里搜索安装),保存即可。

  • 评论出现Warning: preg_replace():....警告

升级了PHP版本后,我们就可以去wordpress升级成最新的5.2.1了,如果您是博客程序,你会发现在你的文章页面评论显示不正常了,出现下列错误代码:Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /wp-content/themes/Ality/functions.php on line 268。

  • 处理错误代码方法:

出现这个问题的原因就在于:preg_replace的/e模式在php高版本下如php7中会抛出以下警告:Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in E:\wwwroot\e.php on line 9,意思是说/e修饰符已经不再支持,请使用preg_replace_callback代替。

其实你只需要简单的一段代码即可,只需更改function.php文件中关于评论的一段代码:

$ content = preg_replace(“/(\。[”'\“]?\ s * [AZ] [az] + \ s [az])/ e”,“strtolower('$ 1')”,$ content);

并用新代码替换它

$content = preg_replace_callback("@(\.[”’\"]?\s*[A-Z][a-z]+\s[a-z])@", function ($matches) { return strtolower($matches[0]); }, $content);

当然我用的是知更鸟的模板,这是知更鸟大神的代码:

$comment = preg_replace(array('#(http://([^\s]*)\.(jpg|gif|png|JPG|GIF|PNG))#','#(https://([^\s]*)\.(jpg|gif|png|JPG|GIF|PNG))#'),'<img src="$1" alt="评论" style="width:'.$size.'; height:'.$size.'" />', $comment);
return $comment;

更换完成就显示正常了,有好的方法可以评论留言给我哦。

给我留言