PHP xml_set_external_entity_ref_handler XML 解析器函数
-
定义和用法
xml_set_external_entity_ref_handler - 设置外部实体引用处理程序 -
版本支持
PHP4 PHP5 PHP7 支持 支持 支持 7.3.0 - 如果扩展是针对libxml构建的,那么现在也可以注意处理程序的返回值。 以前,返回值已被忽略,并且解析从未停止。
-
语法
xml_set_external_entity_ref_handler ( resource $parser , callable $handler )
设置XML解析器解析器的外部实体引用处理程序函数。 -
参数
参数 必需的 描述 parser 是 对XML解析器的引用,用于设置外部实体引用处理程序功能。 handler 是 handler是一个字符串,其中包含在解析器调用xml_parse()时必须存在的函数的名称。由处理程序命名的函数必须接受五个参数,并且应返回一个整数值。 如果从处理程序返回的值为FALSE(如果没有返回值,则为FALSE),XML解析器将停止解析,而xml_get_error_code()将返回XML_ERROR_EXTERNAL_ENTITY_HANDLING。: handler ( resource $parser , string $open_entity_names , string $base , string $system_id , string $public_id )
- parser - 第一个参数解析器是对调用处理程序的XML解析器的引用。
- open_entity_names - 第二个参数open_entity_names是用空格分隔的列表,其中列出了为解析该实体而打开的实体的名称(包括引用实体的名称)。
- base - 这是解析外部实体的系统标识符(system_id)的基础。当前,此参数将始终设置为空字符串。
- system_id - 第四个参数system_id是实体声明中指定的系统标识符。
- public_id - 第五个参数public_id是实体声明中指定的公共标识符,如果未指定,则为空字符串; 公共标识符中的空格将按照XML规范的要求进行标准化。
如果将处理程序函数设置为空字符串或FALSE,则该处理程序将被禁用。注意:除了函数名,还可以提供包含对象引用和方法名的数组。
-
返回值
成功返回TRUE,失败返回FALSE。 -
相关函数
xml_set_start_namespace_decl_handler() - 设置开始命名空间声明处理程序