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
使用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-在开源世界