使用Regex查找href值

时间:2014-01-25 10:40:26

标签: regex search find

我在

中有一个包含以下代码的文档
<link rel="next" type="application/atom+xml" href="https://xxxxxxxx.com?page=2"/>

是否有一些正则表达式会查找带有'next'的rel的链接标记并获取href值?这远远超出了我的正则表达能力。

提前致谢

2 个答案:

答案 0 :(得分:1)

这种类型的解析不应该真正从正则表达式完成,因为HTML的意外性质可以随时打破正则表达式。

考虑这个基于DOM的代码来完成这项工作:

$dom = new DOMDocument; 
$dom->loadXML(
  '<link rel="next" type="application/atom+xml" href="https://xxxxxxxx.com?page=2"/>'); 
$xpath = new DOMXPath($dom); 
$nodelist = $xpath->query("//link[contains(@rel, 'next')]");
for($i=0; $i < $nodelist->length; $i++) {
    $node = $nodelist->item($i);
    echo $node->getAttribute('href') . "\n";
}

<强>输出:

https://xxxxxxxx.com?page=2

答案 1 :(得分:0)

试试这个

href=[\'"]?([^\'" >]+)