使用DOMDocument获取HTML中A元素的href属性和标签名称 [英] Get href atribute and tag name for A element in HTML using DOMDocument
本文介绍了使用DOMDocument获取HTML中A元素的href属性和标签名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试使用DOMDocument从HTML获取href
属性(URL)和标签名称.
我有以下代码,但我一起列出了参数:
I'm trying to get href
attribute (url) and tag name from HTML using DOMDocument.
I have the following code, but I listing parameters together:
$searchNodeA = $dom->getElementsByTagName('li');
$searchNodeHref = $dom->getElementsByTagName('a');
foreach($searchNodeA as $searchNode)
{
$url = $searchNode->getAttribute('href');
$acko = $searchNode->getElementsByTagName('a');
$nazev = $acko->item(0)->nodeValue;
echo "$nazev<br />";
}/**/
foreach($searchNodeHref as $searchNode)
{
$url = $searchNode->getAttribute('href');
echo "$url<br />";
}/**/
我们如何突然宣布结果?
How do we suddenly announcing results?
$ url-$ nazev
$url - $nazev
推荐答案
使用Xpath:
选择任何li
元素
//li
li
元素内的任何a
元素...
Any a
element inside a li
element ...
//li//a
...具有href
属性
//li//a[@href]
加载,评估和迭代:
$dom = new DOMDocument();
$dom->loadHtml('<ul><li><a href="#link">caption</a></li></ul>');
$xpath = new DOMXpath($dom);
foreach ($xpath->evaluate('//li//a[@href]') as $a) {
var_dump(
[
'text' => $a->nodeValue,
'href' => $a->getAttribute('href')
]
);
}
输出:
array(2) {
["text"]=>
string(7) "caption"
["href"]=>
string(5) "#link"
}
这篇关于使用DOMDocument获取HTML中A元素的href属性和标签名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文