我有一个我要解析的页面,它有像这样重叠的标签
<div>
<p>
<strong>
<span>sometext</span>
<div> <- this tag is misplaced
</strong>
</p>
<- and should be here
</div>
问题是需要解析更多的p标签,但解析器认为它已到达终点。
我需要以我可以单独访问每个p的方式进行解析
$ar_w = $ar->find('div[itemprop=ar] p');
foreach ($ar_w as $para) {
//something
}
任何想法如何解决这个问题?
答案 0 :(得分:1)
您的HTML无效。
<p>
内加<p>
(但由于<div>
的结束标记是可选的,</p>
将隐式结束它,然后{{1}将被忽略,因为没有匹配的<p>
)。<div>
或<strong>
<div>
开始标记如果要以特定的非标准方式从HTML错误中恢复,则需要编写自定义解析器。预建的往往遵循HTML规则。