【发布时间】:2011-07-22 15:11:28
【问题描述】:
常量XML_PARSE_HUGE 可以作为第三个参数传递给simplexml_load_string()。根据php.net这个标志:
放宽解析器的任何硬编码限制。
什么是“解析器的默认硬编码限制”?
我认为放松也有点模棱两可。它是消除还是增加“硬编码限制”?
【问题讨论】:
常量XML_PARSE_HUGE 可以作为第三个参数传递给simplexml_load_string()。根据php.net这个标志:
放宽解析器的任何硬编码限制。
什么是“解析器的默认硬编码限制”?
我认为放松也有点模棱两可。它是消除还是增加“硬编码限制”?
【问题讨论】:
时间已经改变: http://php.net/manual/en/libxml.constants.php
LIBXML_PARSEHUGE - 设置 XML_PARSE_HUGE 标志,放宽任何 来自解析器的硬编码限制。这会影响最大值等限制 文档或实体递归的深度,以及 文本节点的大小。
仅在 Libxml >= 2.7.0 中可用(从 PHP >= *5.3.2 和 PHP >= 5.2.12)*
//example of use
$xmlDoc = new DOMDocument();
$xmlDoc->loadXML( $xml , LIBXML_PARSEHUGE );
【讨论】:
自 2.7.3 版以来,libxml 限制了 单个文本节点的最大大小为 10MB。限制可以删除 新选项 XML_PARSE_HUGE。 PHP 没有 为 libxml 指定此选项的方法。
所以我想这个标志是 PHP 现在必须指定这个选项的方式。
【讨论】: