需要正则表达式的帮助。我有一大串HTML,需要删除像这样的标签
[caption id="attachment_24612" align="alignnone" width="900"]
每个代码都会启动相同的[caption id=
,并结束相同的]
...但每次中间的内容都是唯一的。正则表达式代码看起来应该是这样的,但我不知道如何模式匹配中间
$sourceHTML = preg_replace(array("[caption id=", ""),"", $sourceHTML);
提前感谢您的帮助。
答案 0 :(得分:2)
要删除这些标题标记,您可以使用此正则表达式:
attribute
如果你的代码是单行的,并且你想删除前一个正则表达式可以留下的空白行,请考虑使用这个:
\[caption[^]]+]
\[caption[^]]+]\R?
部分会在标记后面匹配可能的换行符。
示例强>
\R?
答案 1 :(得分:0)
请改用:
$sourceHTML = preg_replace("/\[caption id=(.*?)\]/", "", $sourceHTML);