xml_set_character_data_handler

(PHP 4, PHP 5, PHP 7, PHP 8)

xml_set_character_data_handlerConfigura manipulador de dados de caracteres

Descrição

xml_set_character_data_handler(XMLParser $parser, callable|string|null $handler): true

Define a função do manipulador de dados de caracteres para o analisador XML parser.

Parâmetros

parser

O analisador XML.

handler

Se null for passado, o manipulador é redefinido para seu estado padrão.

Aviso

Uma string vazia também redefine o manipulador, entretanto isto foi descontinuado a partir do PHP 8.4.0.

Se handler for um callable, o callable será definido como o manipulador.

Se handler for uma string, ela pode ser o nome de um método de um objeto definido com xml_set_object().

Aviso

Isto foi descontinuado a partir do PHP 8.4.0.

Aviso

A partir do PHP 8.4.0, a função de retorno é verificada quanto à validade ao configurar o manipulador, e não quando é chamada. Isto significa que xml_set_object() precisa ser chamada antes de configurar uma string de método como a função de retorno. Entretando, como este comportamento também foi descontinuado a partir do PHP 8.4.0, usar um callable adequado para o método é recomendado.

A assinatura do manipulador deve ser:

handler(XMLParser $parser, string $data): void
parser
O analisador XML que chama o manipulador.
data
Dados de caracteres como uma string.

O manipulador de dados de caracteres é chamado para cada parte de um texto no documento XML. Ele pode ser chamado várias vezes dentro de cada fragmento (por exemplo, para strings não ASCII).

Valor Retornado

Sempre retorna true.

Registro de Alterações

Versão Descrição
8.4.0 Passar uma string não-callable no parâmetro handler foi descontinuado, use um chamável apropriado para métodos, ou null para redefinir o manipulador.
8.4.0 A validade do manipulador handler como um tipo callable agora é verificada ao configurar o manipulador ao invés de verificar na chamada.
8.0.0 O parâmetro parser agora espera uma instância de XMLParser; anteriormente, um resource xml válido era esperado.