(PHP 4, PHP 5, PHP 7, PHP 8)
xml_set_element_handler — 建立起始和終止元素處理器
$parser
, callable $start_element_handler
, callable $end_element_handler
): bool
為 parser
參數(shù)指定的 XML 解析器建立元素處理器函數(shù)。參數(shù) start_element_handler
和 end_element_handler
為表示函數(shù)名稱的字符串,這些函數(shù)必須在為 parser
指定的解析器調(diào)用 xml_parse() 函數(shù)時已存在。
parser
XML 解析器的引用,用于建立起始和終止元素處理器。
start_element_handler
由 start_element_handler
參數(shù)命名的函數(shù)名必須接受三個參數(shù):
$parser
, string $name
, array $attribs
)parser
name
name
為該處理器為之被調(diào)用的元素名。如果大小寫折疊(case-folding)對該解析器有效,元素名將用大寫字母表示。
attribs
attribs
為一個包含有對應(yīng)元素的屬性的數(shù)組(如果該元素有屬性)。數(shù)組元素的下標(biāo)為屬性名,元素的值即為屬性的值。屬性名將以和元素名同樣的標(biāo)準(zhǔn)進行大小寫折疊(case-folded),其值不進行大小寫折疊。
屬性的原始順序?qū)粎?shù)保留,用 each() 函數(shù)遍歷 attribs
時,該數(shù)組下表的順序和屬性的順序相同。
注意: 除了函數(shù)名,含有對象引用的數(shù)組和方法名也可以作為參數(shù)。
end_element_handler
由 end_element_handler
參數(shù)命名的函數(shù)名必須接受兩個參數(shù):
$parser
, string $name
)parser
name
name
為該處理器為之被調(diào)用的元素名。如果大小寫折疊(case-folding)對該解析器有效,元素名將用大寫字母表示。
如果處理器函數(shù)名被設(shè)置為空字符串或者 false
,則該有問題的處理器將被屏蔽。
成功時返回 true
, 或者在失敗時返回 false
。