2010-04-16 106 views
0

如果我有以下HTML:正则表达式帮助

<li><a href="aaa"> Thisislink1</a></li> 
<li><a href="abcdef"> Thisisanotherlink</a></li> 
<li><a href="12345"> Onemorelink</a></li> 

其中每一个环节将在长度和值不同。

如何搜索链接中的值(IE:Thisislink1,Thisisanotherlink和Onemorelink)与搜索短语,说'另一个'。因此在这个例子中,只会返回'Thisisanotherlink',但如果我将搜索短语更改为'link',那么将返回所有3个值。

+0

强制联动:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags#answer-1732454 – 2010-04-16 08:23:30

回答

0

这需要分两次做:

  1. 从中提取文档中的所有链接中的文本。 XSL或XPath应该可以用于此目的。在提取文本时,请保留DOM的副本,以便将信息附加到文本和文本中,告诉您从何处提取文本(如果您稍后需要此信息,则可能不会)。作为替代方案,只要将href属性的内容附加到文本中即可。

    一定要提取所有你需要的文本(如标题属性,或<a href><img alt></a>型结构替代文字。

  2. 搜索您正在寻找的短语所提取的文本。

  3. (可选)使用您先前设置的信息来映射回DOM以找出您从中收集文本的元素并将其突出显示。如果提取了href属性,则可以使用此和匹配的文本创建新链接。