xml_set_character_data_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_character_data_handler建立字符数据处理器

说明

xml_set_character_data_handler(XMLParser $parser, callable|string|null $handler): true

parser 变量指向的 XML 解析器指定字符数据处理函数。

参数

parser

XML 解析器。

handler

如果传递 null,处理程序将重置为其默认状态。

警告

空字符串也可以重置处理程序,然而自 PHP 8.4.0 起已弃用。

如果 handlercallable,设置的 callable 将作为处理程序。

如果 handlerstring,它可以是 xml_set_object() 设置的对象的方法名称。

警告

自 PHP 8.4.0 起弃用。

警告

自 PHP 8.4.0 起,在设置处理程序时会检测 callable 是否有效,而不是在调用时检测。这意味着在将字符串方法名设置为 callback 之前必须调用 xml_set_object()。然而,由于此行为自 PHP 8.4.0 起也已弃用,因此建议为该方法使用适当的callable

处理程序的签名必须是:

handler(XMLParser $parser, string $data): void
parser
XML 解析器调用的处理程序。
data
字符串格式的字符数据。

XML 文档的每段文字都会调用字符数据处理程序。可以在每个片段内多次调用(比如非 ASCII 字符串)。

返回值

总是返回 true

更新日志

版本 说明
8.4.0 现已弃用传递非 callablestringhandler,为方法使用适当的 callable 或者使用 null 来重置处理程序。
8.4.0 现在设置处理程序时会检测 handler 作为 callable 的有效性,而不是在调用时检测。
8.0.0 parser 现在接受 XMLParser 实例;之前接受有效的 xml resource