【发布时间】:2016-04-27 19:18:25
【问题描述】:
我有一个 HTML:
<html>
<body>
<div class="somethingunneccessary"></div>
<div class="container">
<div>
<p>text1</p>
<p>text2</p>
<p>text3</p>
</div>
<div>
<p>text4/p>
<p>text5</p>
<p>text6</p>
</div>
<div>
<p>text7</p>
<p>text8</p>
<p>text9</p>
</div>
<div>
<p>text10</p>
<p>text11</p>
<p>text12</p>
</div>
<div>
<p>text13</p>
<p>text14</p>
<p>text15</p>
</div>
</div>
</body>
</html>
我想要完成的是:
1./ 遍历 div 中具有 container 类的 div 元素。
2./ 在迭代过程中,我想从第 3 个p tag 获取文本。
循环部分是必不可少的,而不是仅仅自己切出 p 标签
我已经完成了一些代码,但它不做循环:
$doc=new DOMDocument();
$doc->loadHTML($htmlsource);
$xpath = new DOMXpath($doc);
$commentxpath = $xpath->query("/html/body/div[2]/div[5]/p[3]");
$commentdata = $commentxpath->item(0)->nodeValue;
我如何遍历每个内部 div 元素并提取第三个 p 标签。
就像我说的,循环是必不可少的。
【问题讨论】:
-
您是否尝试过使用您的语言使用的任何机制来迭代对象?
-
@IgnacioVazquez-Abrams 这就是我需要帮助的地方。正在调整脚本以迭代容器 div 内部 div 元素
-
那么你的意思是你不知道你的语言是如何迭代的?
-
你想每 3p 吃一次吗?
-
@splash58 是的,这就是迭代具有类容器的 div 中的 div 元素并提取第三个 p 标签文本的目标
标签: xpath domdocument