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

标签 php regex

我有这样包含数据的括号:

[vc_tag][/vc_tag]

标签可以是大约 30 条文本中的任何一条。

我需要一些正则表达式来删除任何包含 vc_

的括号

我有这个,但它删除了所有内容,而不仅仅是 vc_:

$data = preg_replace('/\\[(?>[^\\]]*)\\]/', '', $content);

我也试过:

$data = preg_replace('/\\[(vc_[^\\]]*)\\]/', '', $content);

删除开头的 [vc_tag] 但不删除结尾的 [/vc_tag]

顺便说一下,这是用 PHP 编写的。

最佳答案

你可以试试这个:

$data = preg_replace('~\[/?vc_[^]]*]~', '', $content);

关于php - 正则表达式删除特定括号内的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19624985/

相关文章:

php - 在使用重定向进行迁移时保持旧 URL 有效

php - 在 Laravel 中创建一个 Insert...Select 语句

sql - 验证 SQL Server 中表中的字符串 - CLR 函数或 T-SQL(已更新问题)

c++ - 汇编指令的正则表达式

c# - 从 Type.FullName 中删除 namespace 的正则表达式/方法 - C#

php - 哪个查询会更优化?

php - 如何构建 MySQL 查询以搜索具有 "$"的关键字?

php - Symfony2 : How to remove an element from a Doctrine ArrayCollection (many-to-many relation)?

c - 用于匹配消息的 POSIX 正则表达式

sql - 带有 "or"运算符的 DB2 SQL 正则表达式