Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
防止PHP DOM解码_Php_Xml_Dom_Encoding - Fatal编程技术网

防止PHP DOM解码

防止PHP DOM解码,php,xml,dom,encoding,Php,Xml,Dom,Encoding,PHPDOM自动解码。例如和#42在创建DomeElement时被解码。有没有办法防止这种情况。一种解决方案是对文本进行预处理,后置词进行后处理,但这更像是一种黑客行为 示例代码: $domDoc = new \DOMDocument(); $domEl = $domDoc->createElement('foo', 'text with * in it'); $domDoc->appendChild($domEl); echo $domDoc->saveXML

PHPDOM自动解码。例如
和#42在创建DomeElement时被解码。有没有办法防止这种情况。一种解决方案是对文本进行预处理,后置词进行后处理,但这更像是一种黑客行为

示例代码:

$domDoc = new \DOMDocument();
$domEl = $domDoc->createElement('foo', 'text with * in it');
$domDoc->appendChild($domEl);
echo $domDoc->saveXML();

DOMDocument,或者更确切地说是libxml,有一个布尔标志替换项:

专有的。是否替换实体。此属性不是DOM规范的一部分,特定于libxml

但是,这不适用于ASCII实体,因为它们是预定义的。PHP5.1.4有一个错误,标记为“非错误”,因为

行为是正确的-这些是预定义的实体,替代项对它们的行为没有影响。有关更多信息,请参见规格:

也看到

请注意,在节省时间时,libxml2会在必要时强制转换预定义的实体,以防止格式良好的问题,并将透明地用字符替换这些实体(即,在输入中查找实体引用元素时,它不会在DOM树中生成实体引用元素,也不会调用reference()SAX回调)


DOMDocument,或者更确切地说是libxml,有一个布尔标志替换项:

专有的。是否替换实体。此属性不是DOM规范的一部分,特定于libxml

但是,这不适用于ASCII实体,因为它们是预定义的。PHP5.1.4有一个错误,标记为“非错误”,因为

行为是正确的-这些是预定义的实体,替代项对它们的行为没有影响。有关更多信息,请参见规格:

也看到

请注意,在节省时间时,libxml2会在必要时强制转换预定义的实体,以防止格式良好的问题,并将透明地用字符替换这些实体(即,在输入中查找实体引用元素时,它不会在DOM树中生成实体引用元素,也不会调用reference()SAX回调)


我认为这更多的是一种xml思维,而不是真正的PHP思维。尝试用&;替换&;相反,您有
*我认为这更多的是一种xml思维,而不是真正的PHP思维。尝试用&;替换&;相反,您有
*