【发布时间】:2011-05-07 05:02:14
【问题描述】:
好吧,这让我发疯了。我正在尝试使用 phpQuery 对以下看似微不足道的 HTML 进行屏幕抓取:
<td><nobr>10-05-2009</nobr><br>06:10<br>17:35 -1</td>
日期很简单,因为它包含在 nobr 标记中,例如。 $element[':first-child']->text() 可以解决问题。 但是如何让我的脏手套戴在第二段文字上?
CSS 仅适用于元素,因此 nth-child(2),(3) 返回周围的 <br> 标签,而不是文本。
如果我可以 XPath 它,.//text() 中的第二个节点将是黄金。但显然在 phpQuery-land 中,$element->xpath->query('.//text()') 的上下文是文档根,所以我得到了整个文档中的每一段文本!
想法? How do I select text nodes with jQuery? 中的所有解决方案似乎都涉及到 Javascript DOM 操作,这比 PHP 糟糕的 DOM API 要少得多。也许只是将整个元素转储到字符串并在<br> 上爆炸是要走的路...
【问题讨论】:
标签: jquery css-selectors xpath textnode phpquery