【发布时间】:2010-07-28 00:05:13
【问题描述】:
以下是服务器给我的意外警告消息:
警告:DOMDocument::loadHTML() [domdocument.loadhtml]: ID page3 已在实体中定义,行:C:\Program Files\Zend\Apache2\htdocs\joom\templates\valueTemplate\updateRecord 中的第 25 行.php 在第 74 行 .
.
上面的警告信息是在执行以下代码时产生的:
$html = new DOMDocument();
$html->loadHTML( $fetchedData[ 'content' ] );
.
该消息出乎意料,因为在 HTML 文档中没有重复使用“page3”作为 ID。然而,'page3' 在 HTML 文档中被多次用作 name 属性的值。例如:
<li id="index00025" name="page3" class="fooBar"></li>
.
对此的任何帮助将不胜感激。提前致谢。
【问题讨论】:
-
我不知道这是否会导致 DOMDocument 出现问题,但我很确定
name不是<li>的有效属性 -
我的其他 PHP 页面包含的元素具有无效的 'name' 属性,但是当使用 DOMDocument 加载 HTML 内容时,不会生成任何警告。
-
您的文档中是否有任何命名的锚点,例如
<a name="page3">? HTML 规范在锚点上将 name 和 id 属性视为相同:w3.org/TR/html401/struct/links.html#h-12.2.1。可能在<li>上具有无效的名称属性会混淆 loadHTML 方法。 -
谢谢,帕特。我不知道。
标签: php domdocument