这是我要解析的部分html:
<center>
<table border="0" cellpadding="0" cellspacing="0" >
<td>
Some text
<br>
<font color=brown>label0</font>Value0
<br>
<font color=brown>Label1</font>Value1.<br>
Some text
<br>
<font color=brown>Label2</font>Value2<br>
</td>
</table>
</center>
我想获得Value0和Value1。
如果我使用它:
$index=$element->nodeValue;
其中element是.../font
的查询,我得到了Label0,1,2。但我想要价值。怎么做?如果有必要,我还可以提供更多代码。
答案 0 :(得分:2)
尝试一下:
$index=$element->nextSibling->nodeValue;
获取字体节点之后的节点值。
答案 1 :(得分:1)
<center>
<table border="0" cellpadding="0" cellspacing="0" >
<td>
Some text
<br>
<font color=brown>label0</font><span>Value0</span>
<br>
<font color=brown>Label1</font><span>Value1.</span><br>
Some text
<br>
<font color=brown>Label2</font>Value2<br>
</td>
</table>
</center>
尝试按上面的方式放置span而不是查询span的字体查询... 希望它会有所帮助..
答案 2 :(得分:0)
试试这个:
$str = '<center>
<table border="0" cellpadding="0" cellspacing="0" >
<td>
Some text
<br>
<font color=brown>label0</font>Value0
<br>
<font color=brown>Label1</font>Value1.<br>
Some text
<br>
<font color=brown>Label2</font>Value2<br>
</td>
</table>
</center>';
$dom = new DOMDocument();
$dom->loadHTML($str);
$dom->preserveWhiteSpace = false;
$dom->validateOnParse = true;
$xpath = new DOMXPath($dom);
$nodes = $xpath->query("//font");
foreach ($nodes as $node) {
echo trim( $node->nextSibling->nodeValue ) . "\n";
}
希望这有帮助。
答案 3 :(得分:-1)
$dom = new DOMDocument();
$xpath = new DOMXPath($dom);
$xpath->loadHTML('link/to/html');
$fonts = $xpath->query('font');
foreach ($fonts as $font){
echo $font->nextSibling->nodeValue;
}
上面的脚本将回显<font>
内的所有值。
但请问,你为什么不使用CSS
?