2014-09-13 103 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