2014-02-10 198 views
0

我试图除去包含在括号{}的字符串,但只有当字符串包含字母数字字符和下划线。删除字符串(字母+下划线)在括号内的PHP

因此字符串:

我是一个字符串。我有{tag},你有{to_remove}。但是,如果你找到函数(){alert('javascriptcode'); }你不必删除它。

应该成为

我是一个字符串。我有一些你有。但是,如果你找到函数(){alert('javascriptcode'); }你不必删除它。

+0

你一些模板目的这样做呢?如果是这样,你是否限于使用'{}'而不是像'{{{}}}'那样不太可能自然发生的事情?话虽如此,你到底做了什么尝试?你可以向你展示代码并解释什么不起作用吗? –

+0

[正则表达式测试仪(http://regex101.com/) – Bic

回答

1

使用preg_replace与以下正则表达式:

/\{[a-zA-Z0-9_]*\}/ 

这将是这样的:

preg_replace('/\{[a-zA-Z0-9_]*\}/', '', $yourText); 
+1

你需要逃避'{'和'}'因为他们有一个正则表达式有特殊的意义。 – jeroen

+0

@jeroen你说得对,但代码无论如何都运行。我很好奇为什么它没有我逃跑它,你有一个解释? – markusthoemmes

+0

不好,抱歉:-) – jeroen

相关问题