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