【发布时间】:2011-10-21 23:25:55
【问题描述】:
我继承了一个网站,我必须在其中更新大约 3500 个文件,每个文件(产品页面)中的内容非常相似 95%。
为了进行一些更改,我正在使用 Regex(在 Dreamweaver 中)进行一些批量编辑。
我已经能够完成所有工作,但我遇到了标签内的内容问题。
我需要能够抓取该标签中的所有内容并将其保存以供我替换页面上的其他内容时使用(这是内容因页面而异的少数事物之一)。
这是一个例子:
<ul>
<li style="padding-top:10px; text-align:right;"><a href="http://www.website.com/additem.wws?Sku=ABC123&sup=AAA&mfr=BBB&price=99.99&core=10.00&qty=1&description=ITEM">Single Item - $99.99 <img src="../../images/buy-now-button.gif" alt="Buy Now" width="50" height="20" border="0"> </a></li>
<li style="padding-top:10px; text-align:right;"><a href="http://www.website.com/additem.wws?Sku=ABC123-6&sup=AAA&mfr=BBB&price=299.99&core=60.00&qty=1&description=INJECTOR"><strong>Set of 6 Items - $299.99</strong> <img src="../../images/buy-now-button.gif" alt="Buy Now" width="50" height="20" border="0"> </a></li>
<li style="padding-top:10px"><img src="../../images/free_shipping.jpg" alt="Free Upgrade." width="227" height="107"> </li>
</ul>
我会更独立地在单个 <li> 选项卡中获取内容,但问题是某些页面在 <ul> 中只有一个 <li>,或者最多 6 个,具体取决于产品变体的数量在那个页面上。
所以我的总体问题是:我如何获取给定标签中的所有内容(包括新行、其他标签等)并将其保存以供需要替换其余内容时使用?我知道如何在内容周围使用括号,然后在替换部分使用 $#。
到目前为止,我工作的网站要小得多,而且我对 Regex 的需求并不大,因为手动进行更改或仅在 Find/Replace 中使用文字文本通常更容易。
【问题讨论】:
-
阅读the first answer to this question,了解为什么不应该使用正则表达式解析 HTML。
-
搞笑。有很大帮助。关于我所做的事情的实际建议也可能有所帮助。不过还是谢谢。
-
使用与 Dreamweaver 兼容的 HTML 解析器。通过一些非常粗略的谷歌搜索,我发现 Dreamweaver 甚至带有自己的 HTML 解析器。用那个。不要使用正则表达式来解析 HTML。
-
HTML 解析器也可以执行查找/替换功能?
-
Dreamweaver 可以对特定标签内的内容或具有特定属性的特定标签组合进行搜索和替换。取决于您到底要做什么,它可能比您想象的要容易一些,并且正则表达式将是最小的
标签: html regex tags dreamweaver