Php 如何使用DOMXPath查询获取区域形状
当前PHP:Php 如何使用DOMXPath查询获取区域形状,php,html,xpath,domxpath,Php,Html,Xpath,Domxpath,当前PHP: $dom = new DOMDocument(); $dom->loadHTML($htmlsrc); $xpath = new DOMXPath($dom); $tags = $xpath->query('//div/map/area'); foreach ($tags as $tag) { var_dump(trim($tag->nodeValue)); } 这显然是不正确的。我有一个变量,
$dom = new DOMDocument();
$dom->loadHTML($htmlsrc);
$xpath = new DOMXPath($dom);
$tags = $xpath->query('//div/map/area');
foreach ($tags as $tag) {
var_dump(trim($tag->nodeValue));
}
这显然是不正确的。我有一个变量,它保存一个文件的file\u get\u内容,该文件包含以下几个(大约8000个)内容:
<area shape="poly" alt="" coords="500,327,464,349,467,385,478,400,492,394,500,356" href="1880314600" title="" />
第一个var_dump()显示:(编辑,因为有很多)
但是,第二个var_转储不会返回任何内容。为什么第一个xpath转储只显示坐标?此外,我甚至没有在该点输入查询…以获取坐标(或任何其他属性),您:
如果您还想获得href
属性,只需执行以下操作:
var_dump([
'coords' => $tag->getAttribute('coords'),
'href' => $tag->getAttribute('href'),
]);
要获取坐标(或任何其他属性),请执行以下操作:
如果您还想获得href
属性,只需执行以下操作:
var_dump([
'coords' => $tag->getAttribute('coords'),
'href' => $tag->getAttribute('href'),
]);
var_dump($tag->getAttribute('coords')代码>?我一定是做错了什么,我没有从var_dump甚至NULL得到任何结果。让我先确定我没有做什么愚蠢的事情,然后再继续。做一个var\u dump($htmlsrc)
来确保你得到了你期望的输入,然后确保DOM确实能够加载/解析该html-它对格式错误的html非常挑剔。请检查帖子中的编辑。它将返回所有的coords而不使用xpath查询…我不介意,但我也希望href=“”;没关系,我没看到是两个物体。我很笨。谢谢@PeeHaa,如果你想补充这一点作为回答,我很乐意标记为已回答。正是我需要的。我正忙着把它复杂化。var_dump($tag->getAttribute('coords')代码>?我一定是做错了什么,我没有从var_dump甚至NULL得到任何结果。让我先确定我没有做什么愚蠢的事情,然后再继续。做一个var\u dump($htmlsrc)
来确保你得到了你期望的输入,然后确保DOM确实能够加载/解析该html-它对格式错误的html非常挑剔。请检查帖子中的编辑。它将返回所有的coords而不使用xpath查询…我不介意,但我也希望href=“”;没关系,我没看到是两个物体。我很笨。谢谢@PeeHaa,如果你想补充这一点作为回答,我很乐意标记为已回答。正是我需要的。我忙得不可开交。
var_dump($tag->getAttribute('coords'));
var_dump([
'coords' => $tag->getAttribute('coords'),
'href' => $tag->getAttribute('href'),
]);