我在使用PHP Simple HTML DOM -lib解析时遇到问题。
HTML:
<td>
<span>text</span>
actual text i want to pick up
<span>text2</span>
</td>
我不知道如何获得“我想要提取的实际文本” - 从那里开始。 $ node-&gt; innertext和$ node-&gt; plaintext也包含span-tags内的文本。
编辑: 我试过了
$node->innertext // prints the whole thing
$node->plaintext // prints "textactual text i want to pick uptext"
$node->tag //prints td
手册似乎没有明确提及像我这样的案例。
如果有更好的方法来解析html而不是该库,我也会接受其他建议。我大部分时间都得到了我想要的那个图书馆,但是这篇文章我还没找到。
答案 0 :(得分: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
答案 1 :(得分:0)
好的,我想到了如何访问所需的信息。尝试了关于$ node-&gt; children($ x) - &gt; innertext的不同组合,但这并没有帮助。这种方式并不“正确”,但在我的情况下有效。
foreach($node->nodes as $c) {
if($c->tag == "text")
$text = $c->innertext;
}