3

これは私が解析したい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 を取得するためのクエリです。しかし、私は価値が欲しいです。どうやってするの?必要に応じて、さらにコードを提供することもできます。

4

4 に答える 4

2

おそらく試してみてください:

$index=$element->nextSibling->nodeValue;

フォント ノードの後のノードの値を取得します。

于 2012-12-19T11:14:53.903 に答える
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>

上記のようにスパンを入れてみて、スパンのフォントクエリをクエリする代わりに...それが役立つことを願っています..

于 2012-12-19T11:18:14.730 に答える
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";
}

お役に立てれば。

于 2012-12-19T11:16:33.060 に答える
-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か?

于 2012-12-19T11:14:27.350 に答える