PHP 8.4.1 Released!

xml_set_processing_instruction_handler

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

xml_set_processing_instruction_handler 建立处理指令(PI)处理程序

说明

xml_set_processing_instruction_handler(XMLParser $parser, callable $handler): true

parser XML 解析器设置处理指令(PI)处理函数。

处理指令有如下格式:

<?target
data
?>

警告

PHP 代码通过 <?php 处理指令分隔。因此可以在 XML 文档中使用 PHP 代码。但是 PI 结束标记(?>)不能是数据的一部分。如果 PI 结束标记存在于嵌入式 PHP 代码的一部分,则 PHP 代码的其余部分以及“真实的”PI 结束标记将会视为字符数据。

参数

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 $target, string $data): void
parser
XML 解析器调用的处理程序。
target
处理指令目标。
data
处理指令数据。

返回值

总是返回 true

更新日志

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

用户贡献的备注

此页面尚无用户贡献的备注。
To Top