【发布时间】:2014-02-13 07:58:17
【问题描述】:
我正在尝试获取直接节点值。例如
<font>..something not related to us......</font>
<font>..something not related to us......</font>
<font><br>Name : </font>
<font>foo</font>
<font>Company :</font>
<font>bar</font>
<font>..something not related to us......</font>
<font>..something not related to us......</font>
在这里,首先我需要找到 nodeValue Name。如果节点值为 Name,那么我需要为该名称保存 foo。
如果 nodeValue 是 Company,那么我需要 Company 的 nodeValue bar。
为此,我编写了这样的代码
$nodes = $xpath->query("//font");
foreach($nodes as $node){
if($node->nodeValue = 'Name :')
echo $node->nextSibling->nodeValue;
}
请帮助我获得它。我需要从当前字体标签中找到下一个兄弟。
提前致谢!
这是我的完整代码--
$content = "<font>..something not related to us......</font>
<font>..something not related to us......</font>
<font>Name : </font>
<font>foo</font>
<font>Company :</font>
<font>bar</font>
<font>..something not related to us......</font>
<font>..something not related to us......</font>";
$doc = new DOMDocument();
@$doc->loadHTML($content);
$xpath = new DOMXPath($doc);
$nodes = $xpath->query("//font[.='Name :']/following-sibling::font[1]/text()");
print_r($nodes);
$name = $nodes[0]->nodeValue;
【问题讨论】:
标签: php xpath domdocument