当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP libxml_set_external_entity_loader()用法及代码示例



定义和用法

XML 是一种 mark-up 语言,用于在网络上共享数据,XML 用于人类 read-able 和机器 read-able。 libXMLError 类包含由 libxml 库抛出的错误。

这个libxml_set_external_entity_loader()函数用于更改默认的外部实体加载器。

用法

libxml_set_external_entity_loader($function);

参数

Sr.No 参数及说明
1

function(Mandatory)

这是一个具有 3 个参数的可调用函数,即公共 ID、系统 ID 和上下文。

返回值

此函数返回一个布尔值,如果成功则为 TRUE,如果失败则为 FALSE。

PHP版本

这个函数最初是在 PHP 版本 5 中引入的,并且适用于所有后续版本。

示例

下面的例子演示了 libxml_set_external_entity_loader() 函数的用法 ─

<html>
   <head>
      <body>
         <?php
            $str = <<<XML
            <!DOCTYPE test PUBLIC "-//TEST/BAR" "http://test.com/testbar">
            <test>bar</test>
            $dtd = <<<DTD
            <!ELEMENT test (#PCDATA)>
            libxml_set_external_entity_loader(
            function ($public, $sys, $context) use($dtd) {
               print_r($public);
               print_r($sys);
               print_r($context);
               $f = fopen("php://temp", "r+");
               fwrite($f, $dtd);
               rewind($f);
               return $f;
            } 
         );
         $doc = new DOMDocument;
         $r =  $doc->loadXML($str);
         print_r($doc->validate());
         ?>      
      </body>
   </head>   
</html>

这将产生以下结果 -

-//TEST/BARhttp://test.com/testbarArray ( 
   [directory] => [intSubName] => [extSubURI] => [extSubSystem] => ) 1

相关用法


注:本文由纯净天空筛选整理自 PHP - libxml_set_external_entity_loader() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。