如何替换大括号前后的任何内容,但使用PHP保持它们之间的内容

时间:2015-08-10 14:55:48

标签: php regex replace preg-replace brackets

我需要您的帮助,如何删除curly brackets {}PHP之前和之后的任何内容。但我不想删除其中的curly brackets和内容,以便在大括号之前有任何内容。

我试过了:

 preg_replace('/.[^{]|[^\n{]+.+[^}|}]./', "", $string)

但它没有用。

2 个答案:

答案 0 :(得分:0)

通过此代码,您可以在curly brackets

之前和之后替换任何内容
$string = preg_replace('#\{.*?\}#si', '', $string); 

答案 1 :(得分:0)

这假定是非嵌套的括号 查找:[^{}]*(\{[^{}]*\})[^{}]*
替换:$1

 [^{}]* 
 (                             # (1 start)
      \{
      [^{}]* 
      \}
 )                             # (1 end)
 [^{}]*