Skip to content
Related Articles

Related Articles

Improve Article

PHP | xml_parser_set_option() Function

  • Last Updated : 31 Oct, 2019
Geek Week

Pre-requisite: XML Basics

The xml_parser_set_option() function is an inbuilt function in PHP which is used to set the options in an XML parser.

Syntax:

bool xml_parser_set_option( resource $parser,
           int $specified_option, mixed $option_value)

Parameters: This function accepts three parameters as mentioned above and described below:

  • $parser: It is required parameter which specifies that the XML parser whose options to be set.
  • $specified_option: It is required parameter which specifies the options to be set for specified parser.
    Possible values of this parameter are:



    • XML_OPTION_CASE_FOLDING: It is used to check whether case-folding is enabled or not. The value 1 represents enable and 0 represents disable value.
    • XML_OPTION_TARGET_ENCODING: It specifies the target encoding in the specified XML parser. Set the name of the encoding (US-ASCII, UTF-8 or ISO-8859-1 etc).
    • XML_OPTION_SKIP_TAGSTART: It specifies the number of characters is skipped in the beginning of a tag name.
    • XML_OPTION_SKIP_WHITE: It is used to check whether the whitespace characters are skipped or not. The value 1 is used to skip and 0 otherwise.
  • $option_value: It is required parameter which specifies that a new value for the specified option to be set.

Return Value: It returns True on success or False on failure.

Note: This function is available for PHP 4.0.0 and newer version.

Program 1:




<?php
  
// Creating XML parser
$parser = xml_parser_create();
  
// Set the option XML_OPTION_CASE_FOLDING
$res = xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
  
if( $res ){
      
    // On success
    echo "option XML_OPTION_CASE_FOLDING has successfully been set!<br>";
}
else {
      
    // On failure
    echo "error while setting option XML_OPTION_CASE_FOLDING!<br>";
}
  
// Setting the option XML_OPTION_TARGET_ENCODING
$res = xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, 'UTF-8');
  
if($res) {
  
    // On success
    echo "option XML_OPTION_TARGET_ENCODING has successfully been set!";
}
else {
      
    // On failure
    echo "error while setting option XML_OPTION_TARGET_ENCODING!";
}
  
// Free to XML parser
xml_parser_free($parser);
  
?>

Output:

option XML_OPTION_CASE_FOLDING has successfully been set!
option XML_OPTION_TARGET_ENCODING has successfully been set!

Program 2: This program display the result on wrong value.




<?php
  
// Creating an XML parser
$parser = xml_parser_create();
  
// Setting the option XML_OPTION_TARGET_ENCODING
$res = xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING, '0');
  
if($res) {
      
    // On success
    echo "option XML_OPTION_TARGET_ENCODING has successfully been set!";
}
else {
      
    // On failure
    echo "error while setting option XML_OPTION_TARGET_ENCODING!";
}
  
// Free to XML parser
xml_parser_free($parser);
  
?>

Note: A runtime error will occur for this example as the value is invalid for the option.
Output:

error while setting option XML_OPTION_TARGET_ENCODING!

Reference: https://www.php.net/manual/en/function.xml-parser-set-option.php




My Personal Notes arrow_drop_up
Recommended Articles
Page :