PHP7中用preg_replace_callback代替preg_replace的办法
来源:绵阳动力网络公司  时间:2021-12-13  阅读:10

PHP7中用preg_replace_callback代替preg_replace的办法

preg_replace在php5中主要用于处理url中后面参数替换清除的作用,具体使用方法如下:

$url = preg_replace('/([?&])src=[^&]+(&?)/e', '"$2"==""?"":"$1"', $url);

但preg_replace在PHP7来使用却出错了报错了,经过查询PHP7帮助文件后了解到,e 修饰符因为存在安全隐患 自 5.3 开始就已经标记为了待移除的内容。转而接替的是 preg_replace_callback,此方法第二个参数为一个回调函数,回调函数会自动传入比配的分组作为参数。在回调函数内部通过数组下标访问匹配组。

使用方法如下:

preg_replace_callback('/([?&])src=[^&]+(&?)/', function($matches){
    return $matches[2]==""?"":$matches[1];
}, $url);

这样我们就可以在PHP7使用和preg_replace功能相同的preg_replace_callback了。如果你在网站建设过程也遇到这样的问题就来试试这个方法吧。

 
  • 电话咨询

  • 0816-2318288