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