Php 使用DOMDocument获取HTML中元素的href atribute和标记名
我正在尝试使用DOMDocument从HTML获取Php 使用DOMDocument获取HTML中元素的href atribute和标记名,php,parsing,domdocument,Php,Parsing,Domdocument,我正在尝试使用DOMDocument从HTML获取href属性(url)和标记名。 我有以下代码,但我同时列出了参数: $searchNodeA = $dom->getElementsByTagName('li'); $searchNodeHref = $dom->getElementsByTagName('a'); foreach($searchNodeA as $searchNode) { $url = $searchNode->getAttribute('hre
href
属性(url)和标记名。
我有以下代码,但我同时列出了参数:
$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 />";
}/**/
$searchNodeA=$dom->getElementsByTagName('li');
$searchNodeHref=$dom->getElementsByTagName('a');
foreach($searchNodeA作为$searchNode)
{
$url=$searchNode->getAttribute('href');
$acko=$searchNode->getElementsByTagName('a');
$nazev=$acko->item(0)->nodeValue;
回声“$nazev
”;
}/**/
foreach($searchNodeRef作为$searchNode)
{
$url=$searchNode->getAttribute('href');
回显“$url
”;
}/**/
我们如何突然宣布结果
$url-$nazev使用Xpath:
选择任何li
元素
//li
li
元素中的任何a
元素
//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')
]
);
}
看起来您想嵌套那些
foreach
es?是的,但我将在1x$nazev的末尾列出一个URL,使用简单html解析器完成,它使用了一种简单的类似于jQuery
的方法。
array(2) {
["text"]=>
string(7) "caption"
["href"]=>
string(5) "#link"
}