Home » PHP » Fungsi libxml_set_external_entity_loader() Libxml PHP

Fungsi libxml_set_external_entity_loader() Libxml PHP

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Section Artikel

Definisi dan Penggunaan

Fungsi libxml_set_external_entity_loader() digunakan untuk mengubah pemuat entitas eksternal default.

Syntax

libxml_set_external_entity_loader(function)

Nilai Parameter

ParameterDeskripsi
functionRequired. Fungsi yang membutuhkan tiga argumen. Dua string, id publik dan id sistem, dan konteks (array dengan empat kunci) sebagai argumen ketiga. Callback ini harus mengembalikan sumber daya, string yang darinya sumber daya dapat dibuka, atau NULL.

Detail Teknis

Return Value:Mengembalikan TRUE jika sukses dan FALSE jika gagl
PHP Version:5.4+

Contoh
Ubah pemuat entitas eksternal default:

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

You may also like