XML_PARSE_HUGE on function simplexml_load_string()

2019-02-22 09:02发布

The constant XML_PARSE_HUGE can be passed as the third argument to simplexml_load_string(). According to to php.net this flag:

relaxes any hardcoded limit from the parser.

What is the "default hardcoded limit from the parser"?

I think relaxes is a little bit ambiguous also. Does it eliminate or increase "the hardcoded limit"?

2条回答
欢心
2楼-- · 2019-02-22 09:17

From http://bugs.php.net/49660:

Since version 2.7.3 libxml limits the maximum size of a single text node to 10MB. The limit can be removed with a new option, XML_PARSE_HUGE. PHP has no way to specify this option to libxml.

So I imagine this flag is the way that PHP now has to specify this option.

查看更多
不美不萌又怎样
3楼-- · 2019-02-22 09:38

time has moved: http://php.net/manual/en/libxml.constants.php

LIBXML_PARSEHUGE - Sets XML_PARSE_HUGE flag, which relaxes any hardcoded limit from the parser. This affects limits like maximum depth of a document or the entity recursion, as well as limits of the size of text nodes.
Only available in Libxml >= 2.7.0 (as of PHP >= *5.3.2 and PHP >= 5.2.12)*

//example of use
$xmlDoc = new DOMDocument();
$xmlDoc->loadXML( $xml , LIBXML_PARSEHUGE );
查看更多
登录 后发表回答