这是html,
<html>
<head></head>
<body>
<h3 class="abc">
<a href="abc.html">link1</a>
</h3>
<h2 class="abc">
<a href="xyz.html">link1</a>
</h2>
</body>
</html>
我想要一个php正则表达式或其他任何东西,以获得锚点的href,例如“abc.html”里面只有h3标签,而不是h2标签。
提前致谢,
答案 0 :(得分:2)
如果您使用JQuery,则可以使用
<script>
$("h3 a").attr("href");
</script>
答案 1 :(得分:1)
答案 2 :(得分:1)
你最好使用DOMDocument
,这是一个真正的HTML解析器。我没有对此进行过测试,但这可能是你应该采取的方法:
$dom = new DOMDocument;
$dom->loadHTML($html);
$h3s = $dom->getElementsByTagName('h3');
$anchors = array();
foreach($h3s as $h3){
$links = $h3->getElementsByTagName('a');
foreach($links as $link){
$anchors[] = $link->getAttribute('href');
}
}
print_r($anchors); //should have all of your `href`s
通常,尽量不要使用Regex来解析HTML ...和read up on DomDocument