(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_external_entity_ref_handler — 建立外部實(shí)體指向處理器
為 parser
參數指定的 XML 解析器建立外部實(shí)體指向處理器函數。
parser
XML 解析器的引用,用于建立外部實(shí)體指向處理器。
handler
參數 handler
為表示函數名稱(chēng)的字符串,函數必須在為 parser
指定的解析器調用 xml_parse() 函數時(shí)已存在。
由 handler
參數命名的函數名必須接受五個(gè)參數,并應該返回一個(gè)整型值。如果處理器的返回值為 false
(這也是函數沒(méi)有確定返回值時(shí)的返回值),XML 解析器將停止解析, xml_get_error_code() 函數將返回 XML_ERROR_EXTERNAL_ENTITY_HANDLING
。
$parser
,$open_entity_names
,$base
,$system_id
,$public_id
parser
open_entity_names
open_entity_names
是為該實(shí)體的解析開(kāi)放的實(shí)體名列表(包括被指向的實(shí)體名),這些實(shí)體名由空格隔開(kāi)。
base
system_id
)的基礎。當前該參數通常都被設置為空字符串。
system_id
system_id
是在實(shí)體定義聲明中指定的系統標識符。
public_id
public_id
是在實(shí)體定義聲明中指定的公共標識符,如果未指定任何標識符,則該字符串為空。公共標識符中的空格將按照 XML 的要求被正?;?。
如果處理器函數名被設置為空字符串或者 false
,則該有問(wèn)題的處理器將被屏蔽。
注意: 除了函數名,含有對象引用的數組和方法名也可以作為參數。
成功時(shí)返回 true
, 或者在失敗時(shí)返回 false
。