1

我在解析 PHP Simple HTML DOM -lib 时遇到问题。

HTML:

<td>
<span>text</span>
actual text i want to pick up
<span>text2</span>
</td>

我不知道如何从中获取“我想要获取的实际文本”-部分。$node->innertext 和 $node->plaintext 在 span-tags 中也有文本。

编辑:我试过

$node->innertext // prints the whole thing
$node->plaintext // prints "textactual text i want to pick uptext"
$node->tag //prints td

该手册似乎没有明确提及像我这样的案例。

如果有比该库更好的解析 html 的方法,我也愿意接受其他建议。通过那个图书馆,我大部分都得到了我想要的东西,但是我无法拿起这个文本。

4

2 回答 2

0

好的,我想出了如何访问所需的信息。尝试了关于 $node->children($x)->innertext 的不同组合,但这没有帮助。这种方式感觉不“正确”,但在我的情况下有效。

foreach($node->nodes as $c) {
   if($c->tag == "text")
     $text = $c->innertext;
}
于 2012-09-29T10:24:41.640 回答
0

您可以使用以下str_get_html

$source = '<td>
<span>text</span>
actual text i want to pick up
<span>text2</span>
</td>';

$dom = str_get_html($source);
var_dump($dom->plaintext);

输出

text actual text i want to pick up text2
于 2012-09-28T13:23:45.657 回答