Thursday, December 11, 2025
HomeLanguagesPHP | xml_get_current_byte_index() Function

PHP | xml_get_current_byte_index() Function

Pre-requisite: XML Basics

The xml_get_current_byte_index() function is an inbuilt function in PHP which is used to return the byte index of an XML parser.

Syntax:

int xml_get_current_byte_index( resource $parser)

Parameters: This function accepts single parameter $xml_parser which is required. This parameter specifies the XML parser to use.

Return Values: This function returns the current byte index of specified parser on success or False on failure.

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

Below programs illustrate the xml_get_current_byte_index() function in PHP:

gfg.xml file (Mismatch tags):




<?xml version="1.0" encoding="utf-8"?>
<user>
    <username> user123 </username>
    <name> firstname lastname </name>
    <phone> +91-9876543210 </phone>
    <detail> I am John Doe. Live in Kolkata, India. </detail>
</users>


Program 1:




<?php
   
// Invalid XML file
$xml_file= 'gfg.xml';
   
// XML parser initialization
$xml_parser = xml_parser_create();
    
// Opening the file in read mode
$file_pointer = fopen($xml_file, 'r');
    
// Reading data from the file stream
while ($xml_data = fread($file_pointer, 4096)) {
     
    // Parsing the data chunk
    if (!xml_parse($xml_parser, $xml_data, feof($file_pointer))) {
         
        // Display error 
        die( print "ERROR: " . 
           
            // Error string
            xml_error_string(xml_get_error_code($xml_parser)) . 
               
            "<br>Error Code: " . 
               
            // Error code
            xml_get_error_code($xml_parser) . 
               
            "<br>Line: " . 
               
            // Line number where the error occurred    
            xml_get_current_line_number($xml_parser) . 
               
            "<br>Column: " . 
               
            // Column number where the error occurred    
            xml_get_current_column_number($xml_parser) . 
               
            "<br>Byte Index: " . 
               
            // Byte index where the current byte occurred
            xml_get_current_byte_index($xml_parser) . "<br>"
        );
    }
}
   
// Free to xml parser
xml_parser_free($xml_parser);
   
?>


Output:

ERROR: Mismatched tag
Error Code: 76
Line: 7
Column: 13
Byte Index: 208

neveropen.xml file:




<?xml version="1.0 encoding="utf-8"?>
<user>
    <username> user123 </username>
    <name> firstname lastname </name>
    <phone> +91-9876543210 </phone>
    <detail> I am John Doe. Live in Kolkata, India. </detail>
</user>


Program 2:




<?php
   
// Invalid XML file
$xml_file= 'gfg.xml';
   
// XML parser initialization
$xml_parser = xml_parser_create();
    
// Opening the file in read mode
$file_pointer = fopen($xml_file, 'r');
    
// Reading data from the file stream
while ($xml_data = fread($file_pointer, 4096)) {
     
    // Parsing the data chunk
    if (!xml_parse($xml_parser, $xml_data, feof($file_pointer))) {
         
        // Display error 
        die( print "ERROR: " . 
           
            // Error string
            xml_error_string(xml_get_error_code($xml_parser)) . 
               
            "<br>Error Code: " . 
               
            // Error code
            xml_get_error_code($xml_parser) . 
               
            "<br>Line: " . 
               
            // Line number where the error occurred    
            xml_get_current_line_number($xml_parser) . 
               
            "<br>Column: " . 
               
            // Column number where the error occurred    
            xml_get_current_column_number($xml_parser) . 
               
            "<br>Byte Index: " . 
               
            // Byte index where the current byte occurred
            xml_get_current_byte_index($xml_parser) . "<br>"
        );
    }
}
   
// Free to xml parser
xml_parser_free($xml_parser);
   
?>


Output:

ERROR: String not closed expecting " or '
Error Code: 34
Line: 1
Column: 36
Byte Index: 37

Reference: https://www.php.net/manual/en/function.xml-get-current-byte-index.php

Last Updated :
15 Nov, 2019
Like Article
Save Article

<!–

–>

Similar Reads
Related Tutorials
RELATED ARTICLES

Most Popular

Dominic
32440 POSTS0 COMMENTS
Milvus
105 POSTS0 COMMENTS
Nango Kala
6811 POSTS0 COMMENTS
Nicole Veronica
11950 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12023 POSTS0 COMMENTS
Shaida Kate Naidoo
6943 POSTS0 COMMENTS
Ted Musemwa
7194 POSTS0 COMMENTS
Thapelo Manthata
6889 POSTS0 COMMENTS
Umr Jansen
6880 POSTS0 COMMENTS