2012-09-28 79 views
1

我使用PHP简单的HTML DOM -lib解析问题。PHP简单的HTML DOM单元格值

HTML:

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

我不知道如何获得“实际文本我要拿起”从-part。 $ 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比那个库,我也接受其他建议。我大部分都是通过该图书馆得到我想要的,但是我没有能够拿起这本书。

+5

请通过编辑您的问题来显示您已经尝试过的内容。 –

+0

简单的html dom是一个(在我眼里*非常*)有限的,破碎的和有缺陷的组件。我假设你正在寻找的是简单的html dom,甚至不可能。那么你为什么期望这个图书馆能够做到你想达到的目标呢? – hakre

回答

0

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

foreach($node->nodes as $c) { 
    if($c->tag == "text") 
    $text = $c->innertext; 
} 
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 
+0

OP只想要'我想要拾取的实际文本' – Tchoupi

+0

是的,我尝试了类似的方法,但是如前所述,它提供了太多的文本。我不想要span-tags内的东西。 – Kemu79