正则表达有帮助

时间:2010-04-16 07:29:55

标签: php html regex

如果我有以下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个值。

3 个答案:

答案 0 :(得分:2)

不要使用正则表达式。使用DOMDocument

答案 1 :(得分:0)

/\w*another\w*/

答案 2 :(得分:0)

这需要两次完成:

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

    请务必提取您需要的所有文字(例如标题属性或<a href><img alt></a>类型构造的替代文字。

  2. 在提取的文本中搜索您要查找的短语。

  3. (可选)使用您之前设置的信息映射回DOM,以确定从中收集文本的元素,然后突出显示它。如果您解压缩了href属性,则可以使用此属性和匹配的文本创建新链接。