(PHP 4, PHP 5, PHP 7)
xml_set_external_entity_ref_handler — Set up external entity reference handler
xml_set_external_entity_ref_handler ( XMLParser $parser , callable $handler ) : bool
Sets the external entity reference handler function for the XML parser parser
.
parser
A reference to the XML parser to set up external entity reference handler function.
handler
handler
is a string containing the name of a function that must exist when xml_parse() is called for parser
.
The function named by handler
must accept five parameters, and should return an integer value.If the value returned from the handler is false
(which it will be if no value is returned), the XML parser will stop parsing and xml_get_error_code() will return XML_ERROR_EXTERNAL_ENTITY_HANDLING
.
handler ( XMLParser $parser , string $open_entity_names , string $base , string $system_id , string $public_id )
parser
open_entity_names
open_entity_names
, is a space-separated list of the names of the entities that are open for the parse of this entity (including the name of the referenced entity). base
system_id
) of the external entity.Currently this parameter will always be set to an empty string. system_id
system_id
, is the system identifier as specified in the entity declaration. public_id
public_id
, is the public identifier as specified in the entity declaration, or an empty string if none was specified; the whitespace in the public identifier will have been normalized as required by the XML spec. If a handler function is set to an empty string, or false
, the handler in question is disabled.
Note: Instead of a function name, an array containing an object reference and a method name can also be supplied.
Returns true
on success or false
on failure.
Version | Description |
---|---|
8.0.0 | parser expects an XMLParser instance now; previously, a resource was expected. |
7.3.0 | The return value of the handler is no longer ignored if the extension has been built against libxml. Formerly, the return value has been ignored, and parsing did never stop. |
© 1997–2020 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://www.php.net/manual/en/function.xml-set-external-entity-ref-handler.php