不能在静态函数中使用preg_replace,为什么?

时间:2010-12-20 20:20:16

标签: php preg-replace static-methods

我有什么理由不能在静态函数中使用preg_replace吗?当我将代码移出它时,它完美地工作。有什么想法吗?

2 个答案:

答案 0 :(得分:3)

有趣,因为这很好用:

class obnoxiousWeasel {

  public static function callMeDoItIDareYa($omgudid)
  {
    return preg_replace("/(, you don\'t listen)/", '...',  $omgudid);
  }

}

$pieceofmymind = "ok, but what's the point, you don't listen";

$reply = obnoxiousWeasel::callMeDoItIDareYa($pieceofmymind);

echo $reply;

返回:“好的,但重点是什么......”

在我们告诉您错误之前,我们需要查看您的代码。在静态函数中使用preg_replace肯定不是问题。

编辑:我实际编辑了上面没用的功能来改进它。不妨面对它,我沉迷于重构。

答案 1 :(得分:0)

preg_replace是一个核心的php函数,可以在任何范围内使用。

也许您正在使用它来评估静态方法中的类成员?那不行。但是,如果没有看到相关的代码,我无法肯定地说。