我正在使用 domDocument 来解析这个小的 html 代码。我正在寻找具有特定 id
的特定 span
标签。
<span id="CPHCenter_lblOperandName">Hello world</span>
我的代码:
$dom = new domDocument;
@$dom->loadHTML($html); // the @ is to silence errors and misconfigures of HTML
$dom->preserveWhiteSpace = false;
$nodes = $dom->getElementsByTagName('//span[@id="CPHCenter_lblOperandName"');
foreach($nodes as $node){
echo $node->nodeValue;
}
但出于某种原因,我认为代码或 html 有问题(我怎么知道?):
- 当我使用
echo count($nodes);
计算节点时,结果总是 1 - 我在节点循环中没有得到任何输出
- 如何学习这些复杂查询的语法?
- 我做错了什么?
最佳答案
您可以使用简单的 getElementById:
$dom->getElementById('CPHCenter_lblOperandName')->nodeValue
或选择器方式:
$selector = new DOMXPath($dom);
$list = $selector->query('/html/body//span[@id="CPHCenter_lblOperandName"]');
echo($list->item(0)->nodeValue);
//or
foreach($list as $span) {
$text = $span->nodeValue;
}
关于PHP DOMDocument 如何得到这个标签的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16093402/