PHP DOMNode实体和nodeValue

时间:2010-05-02 04:19:04

标签: php dom

当获取在nodeValue中具有实体的DOMNode对象的nodeValue(即& gt;)时,它将实体转换为它的可打印字符(即>)

有没有人知道如何让它成为一个实体,当它转换为意想不到的东西时,它真的会混淆字符串比较。

以下代码再现了您将注意到转储的长度为3时应该为6的问题。

<?php
$xml='<?xml version="1.0"?>
<root>
<element>&gt;</element>
</root>';
$a=new DOMDocument();
$a->loadXML($xml);
var_dump($a->childNodes->item(0)->nodeValue);

1 个答案:

答案 0 :(得分:5)

loadXML()采用options参数,其中一个选项为LIBXML_NOENT,可以将实体转换为其表示形式,因此默认情况下loadXML()不应该这样做。但是,根据this bug report

,libxml中似乎存在一个导致它一直发生的错误。