本篇文章由php7教程栏目给大家介绍一下关于 PHP7 使用preg_replace出错的问题。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
问题描述:
PHP7废弃了preg_replace?
原本是中php5中处理url中后面参数替换清除的,代码如下
$url = preg_replace('/([?&])src=[^&]+(&?)/e', '"$2"==""?"":"$1"', $url);
但是到php7中就报错了
需要用preg_replace_callback来替换,请问该咋办?
相关代码
$url = preg_replace('/([?&])src=[^&]+(&?)/e', '"$2"==""?"":"$1"', $url);
问题分析:
e 修饰符因为存在安全隐患 自 5.3 开始就已经标记为了待移除的内容。
preg_replace_callback('/([?&])src=[^&]+(&?)/', function($matches){
return $matches[2]==""?"":$matches[1];
}, $url);


![晴川云Minecraft Wiki教程:初始资源[ ],晴川云](https://baike.qcidc.com/wp-content/uploads/2025/09/20250919082226497-u_2935034094_3263281832fm_253fmt_autoapp_120f_JPEG.jpeg)







暂无评论内容