2011-09-25 72 views
-1

我使用Zend_Dom_Query提取一些<tr>元素,我想现在通过他们循环,做多一些。每个<tr>看起来都是这样的,所以我如何打印标题Title 1和第二个td id=categ-113的ID?挖掘更深的一个DOMElement

<tr class="sometr"> 
    <th><a class="title">Title1</a></th> 
    <td class="category" id="categ-113"></td> 
    <td class="somename">Title 1 name</td> 
</tr> 
+0

@rfausak你是谁downvoted我的问题 – sameold

+0

是的 - 这个问题是不明确的,没有用;你应该发布一些代码来解释你所尝试过的以及为什么它不起作用。 –

+0

@rfausak你不清楚,因为你不熟悉zend api。其他人会没事的。他们知道我在说什么。 – sameold

回答

1

你应该玩弄结果。我从来没有与它的工作,但是这是我在多大程度上得到了(和IM还挺新的Zend自己):

$dom = new ZEnd_Dom_Query($html); 
$res = $dom->query('.sometr'); 

foreach($res as $dom) { 
    $a = $obj->getElementsByTagName('a'); 
    echo $a->item(0)->textContent; // the title 
} 

而与此我想你可以走了。有关结果的更多信息和功能,请查阅DOMElement(http://php.net/manual/de/class.domelement.php)。有了这些信息,你应该可以抓住所有这些。但我的问题是: 为什么做这个如此复杂,我真的没有看到这样做的用例。由于标题和其他所有内容都应该来自数据库?如果它是一个XML,那么比依靠Dom_Query有更好的解决方案。

不管怎么说,如果这是对您有帮助,请接受和/或投票的答案。