(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_processing_instruction_handler — 設定處理指令 (PI) 的處理器
設定 XML 解析器 parser
的處理指令 (PI) 處理函式。
處理指令的格式如下:
<?target data ?>
PHP 程式碼是由 <?php
處理指令界定的。因此,XML 文件中可以包含 PHP 程式碼。但是,PI 結束標記 (?>
) 不能是資料的一部分。如果嵌入的 PHP 程式碼中存在 PI 結束標記,則其餘的 PHP 程式碼和「真正的」PI 結束標記將被視為字元資料。
parser
XML 解析器。
handler
如果傳入 null
,處理器將會重置為預設狀態。
傳入空字串也會重置處理器,但自 PHP 8.4.0 起已棄用。
如果 handler
是一個 可呼叫物件,則該可呼叫物件將被設定為處理器。
如果 handler
是一個 字串,它可以是透過 xml_set_object() 設定的物件之方法名稱。
自 PHP 8.4.0 起已棄用。
自 PHP 8.4.0 起,會在設定處理器時檢查可呼叫物件是否有效,而不是在呼叫它時檢查。這表示必須在將方法字串設定為回呼之前呼叫 xml_set_object()。然而,由於此行為也自 PHP 8.4.0 起被棄用,因此建議改用正確的 可呼叫物件 作為方法。
處理器的簽名式必須為
parser
target
data
永遠返回 true
。