PHP7 preg_replace 一用就错?
本篇文章由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);
版权声明:
作者:后浪云
链接:https://www.idc.net/help/7829/
文章版权归作者所有,未经允许请勿转载。
THE END