我将HTML存储在MySQL数据库中,我将从Joomla迁移到新的WordPress安装。我需要删除每页底部的一些标题文字。
HTML的一个例子:
<a href="some/link">link 1</a><p>some really long description</p><a href="another/link">link 2</a>CAPTION TEXT HERE[/caption]
我使用PHP脚本查询数据库并进行正则表达式匹配。
到目前为止我的正则表达式:
/(<\/a>)(.*?)(\[\/caption\])/
我需要完全删除第二个字幕组(CAPTION TEXT HERE),因此实质上用第1组和第3组替换第1,2和3组。第2组可以包含任何字母数字或特殊字符。
我遇到的问题是捕获组1匹配链接1的结束锚标记并一直持续到[/caption]
会发生什么:
</a><p>some really long description</p><a href="another/link">link 2</a>CAPTION TEXT HERE[/caption]
替换为:
<a href="some/link">link 1</a>[/caption]
当我真正需要的是:
<a href="some/link">link 1</a><p>some really long description</p><a href="another/link">link 2</a>[/caption]
提前谢谢!