HTML 使用 DOMDocument 和 DOMXPath 解析 URL - 按 ID 获取元素
HTML Parsing URL with DOMDocument and DOMXPath - Get element by ID
我已经开始开发一个脚本,所以我可以解析 HTML DOM 个元素。
这是我已经完成的:
<?PHP
// to retrieve selected html data, try these DomXPath examples:
$url = 'http://www.sportsdirect.com/nike-satire-mens-skate-shoes-242188?colcode=24218822';
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTMLFile($url);
$xpath = new DOMXpath($doc);
$elements = $xpath->query("*/span[@id='ProductName']");
if (!is_null($elements)) {
foreach ($elements as $element) {
echo "<br/>[". $element->nodeName. "]";
$nodes = $element->childNodes;
foreach ($nodes as $node) {
echo $node->nodeValue. "\n";
}
}
}
?>
我想要的只是获取 HTML 元素中包含的文本 <span id="ProductName"></span>
我的脚本的问题是我只得到黑屏,根本没有结果。
你能帮我理解这个东西是如何工作的吗?
提前致谢!
这里有例子:
http://php.net/manual/en/class.domxpath.php
你可以做到:
$val=$xpath[0]->nodeValue;
var_dump($val);
A您应该检查您的查询是否产生了任何元素 (DOMNodelist)。先检查再获取元素
$elements = $xpath->query('//span[@id="ProductName"]');
if($elements->length > 0) {
echo $elements->item(0)->nodeValue;
}
旁注:我无法在移动设备上进行测试,但这应该是基本思路
我已经开始开发一个脚本,所以我可以解析 HTML DOM 个元素。
这是我已经完成的:
<?PHP
// to retrieve selected html data, try these DomXPath examples:
$url = 'http://www.sportsdirect.com/nike-satire-mens-skate-shoes-242188?colcode=24218822';
libxml_use_internal_errors(true);
$doc = new DOMDocument();
$doc->loadHTMLFile($url);
$xpath = new DOMXpath($doc);
$elements = $xpath->query("*/span[@id='ProductName']");
if (!is_null($elements)) {
foreach ($elements as $element) {
echo "<br/>[". $element->nodeName. "]";
$nodes = $element->childNodes;
foreach ($nodes as $node) {
echo $node->nodeValue. "\n";
}
}
}
?>
我想要的只是获取 HTML 元素中包含的文本 <span id="ProductName"></span>
我的脚本的问题是我只得到黑屏,根本没有结果。
你能帮我理解这个东西是如何工作的吗?
提前致谢!
这里有例子:
http://php.net/manual/en/class.domxpath.php
你可以做到:
$val=$xpath[0]->nodeValue;
var_dump($val);
A您应该检查您的查询是否产生了任何元素 (DOMNodelist)。先检查再获取元素
$elements = $xpath->query('//span[@id="ProductName"]');
if($elements->length > 0) {
echo $elements->item(0)->nodeValue;
}
旁注:我无法在移动设备上进行测试,但这应该是基本思路