(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_external_entity_ref_handler — Установка обработчика внешних сущностей
Задаёт функцию обработчик внешних сущностей для XML-анализатора parser
.
parser
Парсер XML.
handler
Если передаётся значение null
или пустая строка, то обработчик возвращается в состояние по умолчанию.
Если параметр handler
является типом callable, то в качестве обработчика устанавливается callable.
Если параметр handler
является строкой (string), то это может быть имя метода объекта, заданного с помощью функции xml_set_object().
Сигнатура обработчика должна быть:
$parser
,$open_entity_names
,$base
,$system_id
,$public_id
parser
open_entity_names
base
system_id
) внешней сущности. system_id
public_id
Обработчик должен вернуть true
, если сущность была обработана, в противном случае он должен вернуть false
. При возврате значения false
, XML-парсер прекращает разбор, а функция xml_get_error_code() возвращает константу XML_ERROR_EXTERNAL_ENTITY_HANDLING
.
Функция всегда возвращает true
.
Версия | Описание |
---|---|
8.0.0 | Параметр parser ожидает экземпляр класса XMLParser; раньше параметр ждал корректный xml -ресурс (resource). |
7.3.0 | Возвращаемое значение handler больше не игнорируется, если модуль был собран с библиотекой libxml. Раньше возвращаемое значение игнорировалось, а разбор никогда не останавливался. |