2010-11-24 57 views
1

我有一個可怕的問題。在我的字符串中有很多像{{SOME_WORDS}}這樣的結構,我想將它改爲$ lang ['some_word']。由於這個原因,我使用類似於:我preg_replace並只得到語句的最後一個字符。幫助

$cache=preg_replace('/({{)+([A-Z_])+(}})/u','$2',$cache); 

並且只獲得了SOME_WORDS「S」的最後一個字符。接下來的問題是將$ lang [strtolower($ 2)]放入preg_replace第二個參數。或者可能有另一種解決方案?

回答

1

您需要將+放在圓括號內。像這樣:

$cache=preg_replace('/({{)+([A-Z_]+)(}})/u','$2',$cache);

+0

ок,罰款,但如何把$ LANG [用strtolower($ 2)]到了preg_replace第二個參數? – powermic 2010-11-24 21:02:14

-1

試試這個:

$cache = preg_replace("/\{\{(\w+)\}\}/e", "strtolower($1)", $cache); 
+0

將字符串更改爲小寫字母,但將$ lang [strtolower($ 1)]仍然出錯 – powermic 2010-11-24 21:18:36