我试图获得“朗”的价值。 HTML标记中的属性(使用cURL获取,这一切都很顺利)。超级清理的HTML如下所示:
<html lang="en">
<head>
<title>Example</title>
</head>
<body></body>
</html>
当我使用时:
// Get HTML tag
$html = $xpath->query('//html');
echo '<pre>'. print_r($html, true) .'</pre>';
// Does a HTML tag exist at all?
if($html->length == 0) {
$htmlUsed = false;
}
// If HTML tag exists get value
if($html->length > 0) {
foreach($html as $tag) {
echo '<pre>'. print_r($tag->attributes, true) .'</pre>';
foreach($tag->attributes as $attribute) {
echo $attribute;
}
}
}
打印:
DOMNodeList Object
(
[length] => 1
)
DOMNamedNodeMap Object
(
[length] => 0
)
如何在HTML元素中获取此属性的值?它存在于获取页面的cURL的$ response中(我在其上执行XPath查询)。注意:$ tag-&gt; getAttribute(&#39; lang&#39;)没有返回所需的结果,因为$ tag-&gt;属性似乎是空的。
答案 0 :(得分:0)
这对我有用。
<?php
$doc = new DOMDocument();
$doc->loadHTML('<html lang="en">
<head>
<title>Example</title>
</head>
<body></body>
</html>');
$xpath = new DOMXPath($doc);
$html = $xpath->query('//html');
echo '<pre>'. print_r($html, true) .'</pre>';
// Does a HTML tag exist at all?
if($html->length == 0) {
$htmlUsed = false;
}
// If HTML tag exists get value
if($html->length > 0) {
foreach($html as $tag) {
echo $tag->getAttribute('lang');
}
}
输出:
DOMNodeList Object ( [length] => 1 )烯