Dom修复并没有名称警告

时间:2015-07-22 10:30:06

标签: php html dom

我需要获取并处理网页。我在这里为你做了一个演示:

http://vaso.hu/other/dom/shop.htm

我想解析它,并从child div获取所有parent类别(链接和文本)与Dom。

<?php

$Dom = new \DOMDocument();
$Dom->recover = true;
$Dom->strictErrorChecking = false;
$Dom->resolveExternals = true;
$Dom->substituteEntities = true;
$Dom->validateOnParse = false;
$Dom->loadHTMLFile('http://vaso.hu/other/dom/shop.htm');

首先,我不明白的是这个错误代码:

  

警告:DOMDocument :: loadHTMLFile():意外的结束标记:http://vaso.hu/other/dom/shop.htm中的li,行:17

是的,我知道,有一个不需要的关闭</li>,但这不是我的HTML代码。我一直在搜索,正如我所看到的,这就是$Dom->recover的原因。

第二个问题是

  

警告:DOMDocument :: loadHTMLFile():htmlParseEntityRef:http://vaso.hu/other/dom/shop.htm中没有名字,第21行

搜索它,我知道,问题是&标志,我只是不知道如何处理。

所以你能告诉我,修复是为什么不修复代码,我该如何处理&标志?

无论如何,这里是坏代码,这是怎么回事,故意不缩进,并选择了头部。

<body>

<div class="menu"><ul></li>
<li><p><a  class="hide" href="abc" style="width:100px;" title="">xxxx</a></p>
</li>
</ul>
</div>

<div class="parent">
<div class="child"><h3><a  href="/product/cables_adapters" title="">Cabels & Adapters</a></h3></div>
<!--
more childs here
-->
</div>

</body>

修改 第二个问题是通过将&符号替换为&amp;来解决的,我只是想知道,这是真正的解决方案吗?

0 个答案:

没有答案