轻松上手,快乐学习!

PHP 教程

PHP 教程PHP 简介PHP 下载安装PHP 语法PHP 注释PHP 变量PHP Echo / PrintPHP 数据类型PHP 字符串PHP 数值PHP MathPHP 常量PHP 运算符PHP If...ElsePHP SwitchPHP 循环While 循环Do While 循环For 循环Foreach 循环Break/ContinuePHP 函数PHP 数组索引数组关联数组多维数组数组排序PHP 全局变量$GLOBALS$_SERVER$_REQUEST$_POST$_GETPHP 正则表达式PHP 表单处理PHP 表单验证PHP 表单验证必填字段PHP 表单验证URL/E-mailPHP 表单验证实例PHP 日期和时间PHP IncludePHP 文件处理PHP 文件打开/读取PHP 文件创建/写入PHP 文件上传PHP CookiesPHP SessionsPHP FiltersPHP Filters AdvancedPHP 回调函数PHP JSONPHP 异常处理PHP 什么是 OOPPHP 类和对象PHP 构造函数PHP 析构函数PHP 访问修饰符PHP 继承PHP 类常量PHP 抽象类PHP 接口PHP 特征PHP 静态方法PHP 静态属性PHP 命名空间PHP 可迭代对象MySQL DatabaseMySQL ConnectMySQL Create DBMySQL Create TableMySQL Insert DataMySQL Get Last IDMySQL Insert MultipleMySQL PreparedMySQL Select DataMySQL WhereMySQL Order ByMySQL Delete DataMySQL Update DataMySQL Limit DataPHP XML ParsersPHP SimpleXML ParserPHP SimpleXML - GetPHP XML ExpatPHP XML DOMAJAX IntroAJAX PHPAJAX DatabaseAJAX XMLAJAX Live SearchAJAX PollPHP 实例PHP 编译器PHP 测验PHP 练习

PHP 参考手册

PHP 概述PHP ArrayPHP CalendarPHP DatePHP DirectoryPHP ErrorPHP ExceptionPHP FilesystemPHP FilterPHP FTPPHP JSONPHP KeywordsPHP LibxmlPHP MailPHP MathPHP MiscPHP MySQLiPHP NetworkPHP Output ControlPHP RegExPHP SimpleXMLPHP StreamPHP StringPHP Variable HandlingPHP XML ParserPHP ZipPHP Timezones


PHP xml_set_external_entity_ref_handler() 函数


实例

创建 XML 解析器,设置字符数据处理程序,设置外部实体引用处理程序,并解析 XML 文档:

<?php
// Create an XML parser
$parser=xml_parser_create();
function char($parser,$data) {
echo $data;
}

function ext_ent_handler($parser,$ent,$base,$sysID,$pubID)  {
echo "$ent<br>";
echo "$sysID<br>";
echo "$pubID<br>";
}
// Set the character data handler
xml_set_character_data_handler($parser,"char");

// Set the external entity reference handler
xml_set_external_entity_ref_handler($parser, "ext_ent_handler");

$fp=fopen("note_entity.xml","r");
while ($data=fread($fp,4096)) {
  // Parse XML data
  xml_parse($parser,$data,feof($fp)) or
  die (sprintf("XML Error: %s at line %d",
  xml_error_string(xml_get_error_code($parser)),
  xml_get_current_line_number($parser)));
}

xml_parser_free($parser);
fclose($fp);
?>


定义和用法

xml_set_external_entity_ref_handler() 函数规定当解析器在 XML 文档中找到外部实体时被调用的函数。

注释: handler 参数也可以是一个包含对象引用和方法名的数组。

语法

xml_set_external_entity_ref_handler(parser, handler)

参数值

参数 描述
parser 必需。规定要使用的 XML 解析器。
handler 必需。规定当解析器找到外部实体时被调用的函数。 由 "handler" 参数规定的函数必须有五个参数:
  • $parser - 必需。规定一个变量,包含调用处理器的 XML 解析器。
  • $name - 必需。规定一个变量,包含外部实体名称。
  • $base - 必需。规定解析外部实体的系统标识符(system_id)的基础。当前该参数通常都被设置为 NULL。
  • $system_id - 必需。规定外部实体的系统标识符。
  • $public_id - 必需。规定外部实体的公共标识符。

技术细节

返回值: 若成功则返回 TRUE,若失败则返回 FALSE。
PHP 版本: 4.0+