Php/func libxml set streams context
来自菜鸟教程
PHP libxml_set_streams_context()函数
例
更改默认的外部实体加载器:
<?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()); ?>
定义和用法
libxml_set_streams_context()函数设置下一个libxml文档加载或写入的流上下文。
句法
libxml_set_streams_context(function)
参数值
参数 | 描述 |
---|---|
function | 需要。一个带有三个参数的函数。两个字符串,一个公共ID和一个系统ID,以及一个上下文(具有四个键的数组)作为第三个参数。此回调应返回资源,可以从中打开资源的字符串或NULL。 |
技术细节
返回值: | 没有 |
PHP版本: | 5+ |