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() - 设置开始命名空间声明处理程序