2014-09-13 57 views
-1

第一个问题在这里!前置和追加到每个变量

我有一些PHP变量都以下面的形式出现在大约7/8个不同的文件中。

$this->do['string'] 

我希望让他们都到以下几点:

myfunction($this->do['string']) 

我明白我必须使用正则表达式和获取文件内容的功能,但我不能确定在哪里何去何从!非常感谢,如果有人可以协助!

在此先感谢

+1

'查找和replace'? – 2014-09-13 11:38:45

回答

1

如何:

$result = preg_replace("/(\$this->do\['[^']+'\])/", "myfunction($1)", $inputstring); 

编辑根据评论:

在你说你的输入字符串是注释:$inputstring = "\$this->do['fsdfs']";(与$this前一个反斜杠)。你必须再添加反斜线在正则表达式,也逃避它,所以整个指令就变成:

$result = preg_replace("/(\\\$this->do\['[^']+'\])/", "myfunction($1)", $inputstring); 
//      ^^^ 
+0

太棒了!所以我假设我会得到文件内容,把它放在$ inputstring中,并在$ result中有我的新文件? – 2014-09-13 11:47:46

+0

@Abitnew:是的,除非你有嵌套函数,否则它会工作。 – Toto 2014-09-13 11:56:41

+0

唔,不怕我跟着,请你详细说明一下吗? – 2014-09-13 11:59:33