PHP:简单的HTML DOM解析器 - 找到带有标签的<p>标签

时间:2017-08-09 06:11:14

标签: php html simple-html-dom

我正面临网络抓取功能问题。

我有一个带有问题和选项的html文件。

enter image description here

我的疑问:

如果某些问题包含没有<p>标记的表格标记,例如

check my question html file, file.html

那么我的代码只返回<p> </p>仅标记文本。我还需要<p> </p></table>标记内容。

请澄清一下,如何解决此问题?

谢谢

2 个答案:

答案 0 :(得分:0)

首先,您应该学习使用code标签在帖子中添加代码,以便于阅读和回答。根据您的代码,您的代码只检查<p部分,如果不存在,则该部分必须位于行的开头,否则您的代码将跳到下一行。

要解决此问题,您可能需要检查<td,然后<p使用if ... else来区分代码。

答案 1 :(得分:0)

简单地说,你必须做这样的事情:

foreach($html->find('p') as $p){
  if($p->nextSibling() && $p->nextSibling()->tag == 'table'){
    $table = $p->nextSibling();
    echo $p;
    echo $table;
  }
}