php – 不推荐使用:preg_replace():不推荐使用/ e修饰符,而是使用preg_replace_callback

前端之家收集整理的这篇文章主要介绍了php – 不推荐使用:preg_replace():不推荐使用/ e修饰符,而是使用preg_replace_callback前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要一些帮助.因为不推荐使用preg_replace,所以我必须将所有preg_replace转换为preg_replace_callback …

我尝试过的:

更改:

$template = preg_replace ( "#\\[aviable=(.+?)\\](.*?)\\[/aviable\\]#ies","\$this->check_module('\\1','\\2')",$template );

至:

$template = preg_replace_callback ( "#\\[aviable=(.+?)\\](.*?)\\[/aviable\\]#isu",return $this->check_module($this['1'],$this['2']);
            $template );

错误

Parse error: Syntax error,unexpected 'return'
callback需要是一个带有一个参数的函数,这是一个匹配数组.您可以通过任何类型的 callback,包括 anonymous function.
$template = preg_replace_callback(
    "#\\[aviable=(.+?)\\](.*?)\\[/aviable\\]#isu",function($matches) {
        return $this->check_module($matches[1],$matches[2]);
    },$template
);

(为了在匿名函数中使用$this,需要PHP> = 5.4.0)

猜你在找的PHP相关文章