The DOMCharacterData::replaceData() function is an inbuilt function in PHP which is used to replace a substring within the DOMCharacterData node.
Syntax:
void DOMCharacterData::replaceData( int $offset, int $count, string $data)
Parameters: This function accept three parameters as mentioned above and described below:
- $offset: It specifies the starting position to delete the data.
- $count: It specifies the number of characters to delete.
- $data: It specifies the string with which the range must be replaced.
Return Value: This function does not return any value.
Exceptions: DOM_INDEX_SIZE_ERR is raised if $offset is negative or greater than the number of 16-bit units in data, or if $count is negative.
Below given programs illustrate the DOMCharacterData::replaceData() function in PHP:
Program 1 (Replacing Data from beginning):
<?php // Create a new DOM Document $dom = new DOMDocument( '1.0' , 'iso-8859-1' ); // Create a div element $element = $dom ->appendChild( new DOMElement( 'div' )); // Create a DOMCdataSection $text = $element ->appendChild( new DOMCdataSection( 'My DOM Characters' )); // Replace the data $text ->replaceData(0, 2, 'My Replaced' ); echo $dom ->saveXML(); ?> |
Output:
<?xml version="1.0" encoding="iso-8859-1"?> <div><![CDATA[My Replaced DOM Characters]]></div>
Use Chrome Developer tools to view the HTML or press Ctrl+U
Program 2 (Replacing Data in the middle):
<?php // Create a new DOM Document $dom = new DOMDocument( '1.0' , 'iso-8859-1' ); // Create a div element $element = $dom ->appendChild( new DOMElement( 'div' )); // Create a DOMCdataSection $text = $element ->appendChild( new DOMCdataSection( 'GeeksErrorGeeks' )); // Replace Data $text ->replaceData(5, 5, 'For' ); echo $dom ->saveXML(); ?> |
Output:
<?xml version="1.0" encoding="iso-8859-1"?> <div><![CDATA[GeeksForGeeks]]></div>
Reference: https://www.php.net/manual/en/domcharacterdata.replacedata.php