preg_replace_callback()不能用类中的函数替换模式

时间:2013-12-23 11:18:18

标签: php preg-replace-callback

我在一个替换模式的类中有一个函数。部分功能如下。

$text = preg_replace_callback('/\[dekanlik\]/',function (){return $this->dekanlik();},$text);

dekanlik()是该类中列出成员的另一个函数。

在本地(PHP版本5.4.21)中工作,但在服务器(PHP版本5.3.3)中不起作用

任何建议?

1 个答案:

答案 0 :(得分:0)

PHP 5.4中添加了能够引用匿名函数的上下文(即使用$this)。在此之前,常见的解决方法是:

$that = $this;
... function () use ($that) { return $that->foo(); } ...