我有一个像这样的字符串“{\ i1}你很高兴吗?{\ i0}” 我想删除所有“{...}”只是文字“你很开心?”离开了。
我已经尝试了一些正则表达式模式,但我没有得到它。
我的一个尝试:
text = preg_replace("/{.*}/", "\\0", $text);
答案 0 :(得分:3)
您可以使用它来替换{{1}}
之间的所有文字 {}
<强>解释强>
$result = preg_replace('/\{[^}]*\}/', '', $subject);
答案 1 :(得分:1)
首先你应该不匹配地进行比赛。在?
之后应用*
。
在这个例子中,开场{
不需要转义,但无论如何我都会这样做。
然后您使用\0
作为替换模式。这将重新插入正则表达式匹配的任何内容。所以最后什么都不会被删除 - 我听说这不是你想要的。
$text = preg_replace("/\{.*?}/", "", $text);