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