xml_set_external_entity_ref_handler
(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_external_entity_ref_handler - Встановлення обробника зовнішніх сутностей
Опис
xml_set_external_entity_ref_handler(XMLParser $parser, callable $handler): true
Задає функцію обробник зовнішніх сутностей для XML-аналізатора parser
Список параметрів
parser
Парсер XML.
handler
Якщо передається значення null
або порожній рядок, обробник повертається в стан за замовчуванням.
Якщо параметр handler
є типом callable, то як оброблювач встановлюється callable.
Якщо параметр handler
є рядком (string), це може бути ім'я методу об'єкта, заданого за допомогою функції xml_set_object()
Сигнатура оброблювача має бути:
handler( XMLParser $parser, string $open_entity_names, string|false $base, string $system_id, string|false $public_id): bool
parser
XML-парсер, що викликає оброблювач.
open_entity_names
Список розділених пробілами імен сутностей, які можуть брати участь у аналізі поточної сутності (включаючи поточну сутність).
base
Це основа для дозволу системного ідентифікатора (system_id
) Зовнішньої сутності.
system_id
Системний ідентифікатор у вигляді, як він представлений в оголошенні сутності.
public_id
Загальнодоступний ідентифікатор у вигляді, як і представлений у оголошенні сутності, чи порожній рядок, якщо такого немає; пробіли в ідентифікаторі будуть нормалізовані відповідно до вимог специфікації XML.
Обработчик должен вернуть**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. Раніше значення, що поверталося, ігнорувалося, а розбір ніколи не зупинявся. |