PHP
Referenzliste
libxml_set_external_entity_loader
libxml Funktionen
Befehl:
void libxml_set_external_entity_loader ( callable $resolver_function )
Parameter-Liste:
Beschreibung | |
---|---|
Ein callable die drei Argumente benötigt. Zwei Zeichenketten, ein öffentliches ID und System-ID und ein Rahmen (ein Array mit vier Tasten) als drittes Argument. Dieser Callback sollte eine Ressource, eine Zeichenfolge aus dem eine Ressource geöffnet werden kann, oder NULL zurück. |
Rückgabewerte:
Es wird kein Wert zurückgegeben.
Beschreibung:
Ändert die Standard externe Entität Loader.
Aktiv in Version:
(PHP 5 >= 5.4.0, PHP 7)
Siehe auch:
libxml_set_external_entity_loader() - Beispiel:
Eingabe:
<?PHP $xml = <<<XML <!DOCTYPE foo PUBLIC "-//FOO/BAR" "http://example.com/foobar"> <foo>bar</foo> XML; $dtd = <<<DTD <!ELEMENT foo (#PCDATA)> DTD; libxml_set_external_entity_loader( function ($public, $system, $context) use($dtd) { var_dump($public); var_dump($system); var_dump($context); $f = fopen("php://temp", "r+"); fwrite($f, $dtd); rewind($f); return $f; } ); $dd = new DOMDocument; $r = $dd->loadXML($xml); var_dump($dd->validate()); ?>
Ausgabe:
string(10) "-//FOO/BAR"
string(25) "http://example.com/foobar"
array(4) {
["directory"] => NULL
["intSubName"] => NULL
["extSubURI"] => NULL
["extSubSystem"] => NULL
}
bool(true)
string(25) "http://example.com/foobar"
array(4) {
["directory"] => NULL
["intSubName"] => NULL
["extSubURI"] => NULL
["extSubSystem"] => NULL
}
bool(true)
libxml Funktionen