Thursday, January 22, 2026
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
32475 POSTS0 COMMENTS
Milvus
119 POSTS0 COMMENTS
Nango Kala
6847 POSTS0 COMMENTS
Nicole Veronica
11977 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12064 POSTS0 COMMENTS
Shaida Kate Naidoo
6986 POSTS0 COMMENTS
Ted Musemwa
7220 POSTS0 COMMENTS
Thapelo Manthata
6933 POSTS0 COMMENTS
Umr Jansen
6912 POSTS0 COMMENTS