我将 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,2 和 3 替换为组 1 和 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]
先感谢您!