2017-06-23 30 views
1

我需要一点帮助。我有一个字符串:如何在PHP中使用preg_replace来做这个例子?

$str = "{{abc}} {{cde}}"; 

$str = preg_replace('/({{\w+}})/', '$1', $str); 

echo $str; //{{abc}} {{cde}} 

但我希望每个{{string}}将仅返回string。以上示例将返回abc cde

+0

注意'{'和'}'是正则表达式中的特殊字符,应当逃脱。您可能无法获得您期望的其他表达式的行为。 – chris85

回答

3

只需推动括号(捕获组)只有你想要什么捕捉:

$str = preg_replace('/{{(\w+)}}/', '$1', $str); 
+0

它的工作。非常感谢你:) –

+0

如果我有一个数组 $阵列=阵列( \t 'ABC'=> '试验1', \t 'CDE'=> '测试2' ); $ str = preg_replace('/ {{(w +)}} /',$ array ['$ 1'],$ str); 有没有办法做这项工作。 {{abc}}将返回$ array ['abc']? –

+0

@ chris85不那么快:)。在这些答案中没有说明这种方式 – shalvah

相关问题