0

在使用 HTML Simple Dom 很长一段时间后,我才开始掌握 QueryPath,并且发现 QP 文档似乎并没有为它的所有功能提供太多示例。

目前我正试图从一个没有太多使用 ID 或类的 HTML 文档中检索一些文本,所以我有点超出了我的舒适区。

这是HTML:

<div class="blue-box">
  <div class="top">
    <h2><img src="pic.gif" alt="Advertise"></h2>
    <p>Some uninteresting stuff</p>
    <p>More stuff</p>
  </div>
</div>
<div class="blue-box">
  <div class="top">
    <h2><img src="pic2.gif" alt="Location"></h2>
    **I NEED THIS TEXT**
    <div style="margin:stuff">
      <img src="img3.gif">
    </div>
  </div>
</div>

我正在考虑选择“box-blue”类作为起点,然后从那里下降。问题是 HTML 文档中可能有任意数量的 box-blue 类。

因此,我在想,也许我应该尝试使用 alt="Location" 选择图像,然后使用 ->next()->text() 或类似的东西?

到目前为止,我已经尝试了大约 15 种变体,但都没有得到我需要的文本。

非常感谢您的帮助!

4

2 回答 2

1

你能看看这个例子http://jsfiddle.net/Pedro3M/mujtk/

我像你说的那样使用 alt 属性,如果你确认这是否总是唯一的

$("img[alt='Location']").parent().parent().text();

于 2013-07-18T11:48:27.000 回答
0

怎么样:

$doc->find('div.top:has(img[alt="Location"])')->text();
于 2013-08-09T02:28:41.267 回答