【发布时间】:2011-03-17 21:41:22
【问题描述】:
我需要编写一个工具来在任何之前添加一个标签
Test string points to <p><a href="http://www.acdevents.com/au2005/">Acd Event</a> with an image <a href="http://www.acdevents.com"><img src="image.jpg"></a>
这个需要改成
Test string points to <p><span class="test_class"><a href="http://www.acdevents.com/au2005/">Acd Event</a></span> with an image <a href="http://www.acdevents.com"><img src="image.jpg"></a>
如您所见,仅当 url 指向物理页面而不是图像时才需要添加标签。
我打算使用正则表达式来实现这一点,但到目前为止没有任何运气。
对此的任何指针都会受到高度重视。
-谢谢
【问题讨论】:
-
尝试用正则表达式来做这件事听起来很痛苦。也许你可以使用XSLT?您是在使用格式良好的 HTML 文档,还是嵌入在纯文本中的标签(如示例中)?
-
正则表达式 + html = 痛苦。改用 DOM:stackoverflow.com/questions/3524431/…
-
我感到使用正则表达式的痛苦,但没有其他出路。出于某种奇怪的原因,我从不同的服务接收 html bosy 文本作为字符串。我需要做一些格式化和预处理,其中一部分是我提出的问题。没有 XSLT 的范围。
-
我同意 Brandon 的观点:正则表达式不是适合这项工作的工具。我建议使用诸如 John Cowan 的“TagSoup”之类的解析器来编写一些代码来过滤 HTML。如果您更喜欢类似 DOM 的东西而不是类似 SAX 的东西,那就是 NekoHTML。