2010-04-16 104 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屬性,則可以使用此和匹配的文本創建新鏈接。