php – preg_replace_callback()问题

前端之家收集整理的这篇文章主要介绍了php – preg_replace_callback()问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用preg_replace_callback来查找和替换实时链接的文本链接
http://www.example.com

<a href='http://www.example.com'>www.example.com</a>

我提供函数的回调函数在另一个类中,所以当我尝试:

return preg_replace_callback($pattern,"Utilities::LinksCallback",$input);

我收到错误声称该功能不存在.有任何想法吗?

PHP中使用类方法作为回调时,必须使用数组形式的回调.也就是说,您创建一个数组,其第一个元素是类(如果方法是静态的)或类的实例(如果不是),第二个元素是要调用函数.例如.
class A {
     public function cb_regular() {}
     public static function cb_static() {}
}

$inst = new A;

preg_replace_callback(...,array($inst,'cb_regular'),...);

preg_replace_callback(...,array('A','cb_static'),...);

您正在调用函数当然必须在您使用回调的范围内可见.

有关有效回调的详细信息,请参见http://php.net/manual/en/language.pseudo-types.php.

注:阅读那里,似乎从5.2.3开始,只要回调函数是静态的,就可以使用你的方法.

原文链接:https://www.f2er.com/php/138399.html

猜你在找的PHP相关文章