PHP preg_replace正则表达式问题

Pau*_*len 3 php regex preg-replace

我需要帮助找出正则表达式.在我的脚本中,我有一个带占位符的行.我想要做的是我想发送每个占位符文本一个函数,将它转换为它应该是什么.

我的文字是:

Lorem ipsum dolor坐在{{AMETPLACEHOLDER}},奉献精神.

我希望将文本AMETPLACEHOLDER发送到我的函数translateMe.

我在正则表达式中非常糟糕,但无论如何都试了一下.我没有比这更进一步:

$sString    = preg_replace("(*.?)/\{{(*.?)}}(*.?)/", $this->echoText('\\2'), $sString);
Run Code Online (Sandbox Code Playgroud)

当然哪个不起作用.

有人可以帮帮我吗?

Br,Paul Peelen

mar*_*rio 5

使用preg_replace_callback,您可以指定如下方法:

 = preg_replace_callback("@{{(.*?)}}@", array($this, "echoText"), $txt)
Run Code Online (Sandbox Code Playgroud)

方法可以是:

 public function echoText($match) {
     list($original, $placeholder) = $match;   // extract match groups
     ...
     return $translated;
 }
Run Code Online (Sandbox Code Playgroud)

顺便说一句,为了设计正则表达式,请查看http://regular-expressions.info/或以下列出的一些工具:https://stackoverflow.com/questions/89718/is-there-anything-like-regexbuddy-in-在开源世界