PHP7使用preg_replace时出现错误,如何有效解决?
- 内容介绍
- 文章标签
- 相关推荐
本文共计464个文字,预计阅读时间需要2分钟。
问题描述:PHP7弃用了preg_replace?原本在PHP5中处理URL后面参数替换清除的代码如下:php$url=preg_replace('/(\[\])src=[^\]]+(\))/e', '$2===?:$1', $url);但在PHP7中执行时出现了错误,需要使用preg_replace_cal。
问题描述:
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,此方法第二个参数为一个回调函数,回调函数会自动传入比配的分组作为参数。
本文共计464个文字,预计阅读时间需要2分钟。
问题描述:PHP7弃用了preg_replace?原本在PHP5中处理URL后面参数替换清除的代码如下:php$url=preg_replace('/(\[\])src=[^\]]+(\))/e', '$2===?:$1', $url);但在PHP7中执行时出现了错误,需要使用preg_replace_cal。
问题描述:
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,此方法第二个参数为一个回调函数,回调函数会自动传入比配的分组作为参数。

