當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。