(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_processing_instruction_handler Set up processing instruction (PI) handler


xml_set_processing_instruction_handler(XMLParser $parser, callable $handler): true

Sets the processing instruction (PI) handler function for the XML parser parser.

A processing instruction has the following format:



PHP code is delimited by the <?php processing instruction. As such it is possible to have PHP code within an XML document. However, the PI end tag (?>) must not be part of the data. If a PI end tag exists as part of the embedded PHP code, the rest of the PHP code and the "real" PI end tag, will be treated as character data.



The XML parser.


If null or an empty string is passed, the handler is reset to its default state.

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().

The signature of the handler must be:

handler(XMLParser $parser, string $target, string $data): void
The XML parser calling the handler.
The processing instruction target.
The processing instruction data.

Return Values

Always returns true.


Version Description
8.0.0 parser expects an XMLParser instance now; previously, a valid xml resource was expected.
add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top