(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 指定的解析器調用 xml_parse() 函數(shù)時已存在。
parserXML 解析器的引用,用于建立起始和終止元素處理器。
start_element_handler
由 start_element_handler 參數(shù)命名的函數(shù)名必須接受三個參數(shù):
$parser, string $name, array $attribs)parsernamename 為該處理器為之被調用的元素名。如果大小寫折疊(case-folding)對該解析器有效,元素名將用大寫字母表示。
attribsattribs 為一個包含有對應元素的屬性的數(shù)組(如果該元素有屬性)。數(shù)組元素的下標為屬性名,元素的值即為屬性的值。屬性名將以和元素名同樣的標準進行大小寫折疊(case-folded),其值不進行大小寫折疊。
屬性的原始順序將會被參數(shù)保留,用 each() 函數(shù)遍歷 attribs 時,該數(shù)組下表的順序和屬性的順序相同。
注意: 除了函數(shù)名,含有對象引用的數(shù)組和方法名也可以作為參數(shù)。
end_element_handler
由 end_element_handler 參數(shù)命名的函數(shù)名必須接受兩個參數(shù):
$parser, string $name)parsernamename 為該處理器為之被調用的元素名。如果大小寫折疊(case-folding)對該解析器有效,元素名將用大寫字母表示。
如果處理器函數(shù)名被設置為空字符串或者 false,則該有問題的處理器將被屏蔽。
成功時返回 true, 或者在失敗時返回 false。