/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/libxml/tests/libxml_set_external_entity_loader_variation2.phpt
48 строк
975 B
Ilija Tovilo
Close PHP tags in tests
18 окт 2023, 18:34
Не верифицирован
18 окт 2023, 18:34
f39b5c4
Код
Авторство
О чём код?
--TEST-- libxml_set_external_entity_loader() variation: restore original handler; returning NULL --EXTENSIONS-- dom --CLEAN-- <?php @unlink(__DIR__ . "/foobar.dtd"); ?> --FILE-- <?php chdir(__DIR__); $xml = <<<XML <!DOCTYPE foo PUBLIC "-//FOO/BAR" "foobar.dtd"> <foo>bar</foo> XML; $dtd = <<<DTD <!ELEMENT foo (#PCDATA)> DTD; libxml_set_external_entity_loader( function ($public, $system, $context) { var_dump($public,$system); return null; } ); $dd = new DOMDocument; $r = $dd->loadXML($xml); var_dump($dd->validate()); libxml_set_external_entity_loader(NULL); file_put_contents(__DIR__ . "/foobar.dtd", $dtd); var_dump($dd->validate()); echo "Done.\n"; ?> --EXPECTF-- string(10) "-//FOO/BAR" string(%d) "%sfoobar.dtd" Warning: DOMDocument::validate(): Failed to load external entity "-//FOO/BAR" in %s on line %d Warning: DOMDocument::validate(): Could not load the external subset "foobar.dtd" in %s on line %d bool(false) bool(true) Done.