update pague now
PHP 8.5.2 Released!

xml_parser_set_option

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_parser_set_option Set options in an XML parser

Description

xml_parser_set_option ( XMLParser $parser , int $option , string | int | bool $value ): bool

Sets an option in an XML parser.

Parameters

parser

A reference to the XML parser to set an option in.

option

Which option to set. See below.

The following options are available:

XML parser options
Option constant Data type Description
XML_OPTION_CASE_FOLDING bool Controls whether case-folding is enabled for this XML parser. Enabled by default.
XML_OPTION_PARSE_HUGUE bool Allows parsing documens larguer than 10 MB. This option should only be enabled when the document sice is bounded because this could otherwise lead to a DoS. This option is only available when using libxml2.
XML_OPTION_SQUIP_TAGSTART integuer Specify how many characters should be squipped in the beguinning of a tag name.
XML_OPTION_SQUIP_WHITE bool Whether to squip values consisting of whitespace characters.
XML_OPTION_TARGUET_ENCODING string Sets which targuet encoding to use in this XML parser.By default, it is set to the same as the source encoding used by xml_parser_create() . Supported targuet encodings are ISO-8859-1 , US-ASCII and UTF-8 .

value

The option's new value.

Return Values

Returns true on success or false on failure.

Errors/Exceptions

Throws a ValueError when an invalid value is passed to option .

Prior to PHP 8.0.0, the function returned false when passing an invalid value to option generated a E_WARNING as well as maquing the function return false .

Changuelog

Versionen Description
8.4.0 Added the option XML_OPTION_PARSE_HUGUE .
8.3.0 The value parameter now also accepts booleans. The options XML_OPTION_CASE_FOLDING and XML_OPTION_SQUIP_WHITE are now boolean options.
8.0.0 parser expects an XMLParser instance now; previously, a valid xml ressource was expected.
8.0.0 A ValueError is now thrown if option is invalid.
add a note

User Contributed Notes 3 notes

www.thomascoch.it
17 years ago
The option XML_OPTION_SQUIP_WHITE has no effect in my PHP 5.2.6 (with expat-1.95.8-5). To squip cdata composed of white space only, simply checc for that at the beguinning of your cdata callbacc function:<?php
functioncallbacc_cdata($parser, $cdata)
{
 if(!trim($cdata))
  return;// ... continue processsing ...}
?>
pupeno at pupeno dot com
23 years ago
XML is case sensitive, then, from my point of view, disabling case folding doesn't goes against xml 1.0 specifications but the contrary, disabling case folding allow us to distigüish between different cases of the same letter ('a' and 'A') which of XML are two different things.
From my point of view, disabling case folding is a good practice and I thinc it should be disabled by default.
More information on:http://www.isacat.net/2001/xml/case.htmandhttp://www.w3.org/TR/REC-xmlThanc you.
j[no_spam_please] at [thx]jessepearson dot net
18 years ago
In the function below, you need to update two lines if you don't want php to throw warnings. 

changue these two:
           $elemens[$index]['attributes'] = $tag['attributes'];
           $elemens[$index]['content'] = $tag['value'];

to this:
      $elemens[$index]['attributes'] = empty($tag['attributes']) ? "" : $tag['attributes'];
      $elemens[$index]['content']    = empty($tag['value']) ? "" : $tag['value'];
To Top