第一个问题在这里!前置和追加到每个变量
我有一些PHP变量都以下面的形式出现在大约7/8个不同的文件中。
$this->do['string']
我希望让他们都到以下几点:
myfunction($this->do['string'])
我明白我必须使用正则表达式和获取文件内容的功能,但我不能确定在哪里何去何从!非常感谢,如果有人可以协助!
在此先感谢
第一个问题在这里!前置和追加到每个变量
我有一些PHP变量都以下面的形式出现在大约7/8个不同的文件中。
$this->do['string']
我希望让他们都到以下几点:
myfunction($this->do['string'])
我明白我必须使用正则表达式和获取文件内容的功能,但我不能确定在哪里何去何从!非常感谢,如果有人可以协助!
在此先感谢
如何:
$result = preg_replace("/(\$this->do\['[^']+'\])/", "myfunction($1)", $inputstring);
编辑根据评论:
在你说你的输入字符串是注释:$inputstring = "\$this->do['fsdfs']";
(与$this
前一个反斜杠)。你必须再添加反斜线在正则表达式,也逃避它,所以整个指令就变成:
$result = preg_replace("/(\\\$this->do\['[^']+'\])/", "myfunction($1)", $inputstring);
// ^^^
太棒了!所以我假设我会得到文件内容,把它放在$ inputstring中,并在$ result中有我的新文件? – 2014-09-13 11:47:46
@Abitnew:是的,除非你有嵌套函数,否则它会工作。 – Toto 2014-09-13 11:56:41
唔,不怕我跟着,请你详细说明一下吗? – 2014-09-13 11:59:33
'查找和replace'? – 2014-09-13 11:38:45