(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_character_data_handler — Set up character data handler
xml_set_character_data_handler(XMLParser $parser, callable|string|null $handler): true
Sets the character data handler function for the XML parser parser.
parserThe XML parser.
handler If null is passed, the handler is reset to its default state.
An empty string will also reset the handler, however this is deprecated as of PHP 8.4.0.
If handler is a callable, the callable is set as the handler.
If handler is a string, it can be the name of a method of an object set with xml_set_object().
This is deprecated as of PHP 8.4.0.
As of PHP 8.4.0, the callable is checked to be valid while setting the handler, not when it is called. This means that xml_set_object() must be called prior to setting a method string as the callback. However, as this behaviour is also deprecated as of PHP 8.4.0, using a proper callable for the method is recommended instead.
The signature of the handler must be:
handler(XMLParser $parser, string $data): void
parserdataCharacter data handler is called for every piece of a text in the XML document. It can be called multiple times inside each fragment (e.g. for non-ASCII strings).
Always returns true.
| Version | Description |
|---|---|
| 8.4.0 | Passing a non-callable string to handler is now deprecated, use a proper callable for methods, or null to reset the handler. |
| 8.4.0 | The validity of handler as a callable is now checked when setting the handler instead of checking when calling it. |
| 8.0.0 | parser expects an XMLParser instance now; previously, a valid xml resource was expected. |
© 1997–2025 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.xml-set-character-data-handler.php