正则表达式:删除特定括号内的内容

4
我有一些包含数据的括号,格式如下:
[vc_tag][/vc_tag]
其中tag可以是30个左右的文本之一。
我需要一些正则表达式来删除任何包含vc_的括号。
我有这个,但它会删除所有而不仅仅是vc_: $data = preg_replace('/\\[(?>[^\\]]*)\\]/', '', $content);
我还尝试过: $data = preg_replace('/\\[(vc_[^\\]]*)\\]/', '', $content);
它会删除开头的 [vc_tag],但没有删除结尾的 [/vc_tag]。
顺便说一下,这是用PHP编写的。
1个回答

4
你可以尝试这样做:
$data = preg_replace('~\[/?vc_[^]]*]~', '', $content);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接