downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

libxml_set_streams_context> <libxml_get_last_error
[edit] Last updated: Fri, 14 Jun 2013

view this page in

libxml_set_external_entity_loader

(PHP 5 >= 5.4.0)

libxml_set_external_entity_loaderChange le chargeur d'entités externes par défaut

Description

void libxml_set_external_entity_loader ( callable $resolver_function )

Change le chargeur d'entités externes par défaut.

Liste de paramètres

resolver_function

Une callable qui accepte trois arguments. Deux chaines, l'id public et l'id système, et un contexte (un tableau avec quatre clés) comme troisième argument. Cette callback doit retourner une ressource, une chaine servant à ouvrir une ressource ou NULL.

Valeurs de retour

Aucune valeur n'est retournée.

Exemples

Exemple #1 Exemple avec libxml_set_external_entity_loader()

<?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());
?>

L'exemple ci-dessus va afficher :

string(10) "-//FOO/BAR"
string(25) "http://example.com/foobar"
array(4) {
    ["directory"]    => NULL
    ["intSubName"]   => NULL
    ["extSubURI"]    => NULL
    ["extSubSystem"] => NULL
}
bool(true)

Voir aussi



add a note add a note User Contributed Notes libxml_set_external_entity_loader - [0 notes]
There are no user contributed notes for this page.

 
show source | credits | stats | sitemap | contact | advertising | mirror sites