(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)
mb_encode_numericentity — Codificar caractere para referência numérica HTML
$string
,$map
,$encoding
= null
,$hex
= false
Converte
códigos de caractere especificados em string string
de códigos de caractere para referência numérica de caractere HTML.
string
A string a ser codificada.
map
map
é um array que especifica a área de código para
converter.
encoding
O parâmetro encoding
é a codificação de caracteres. Se for omitido ou null
, o valor da codificação
de caracteres interna será usado.
hex
Se a referência de entidade retornada deve estar em notação hexadecimal (caso contrário, estará em notação decimal).
A string convertida.
Lança uma exceção ValueError se
map
não for uma lista de ints.
Versão | Descrição |
---|---|
8.4.0 |
mb_encode_numericentity() agora lança uma exceção
ValueError se map
não for uma lista de ints.
|
8.0.0 |
O parâmetro encoding agora pode ser nulo.
|
Exemplo #1 Exemplo de map
<?php $convmap = array ( int start_code1, int end_code1, int offset1, int mask1, int start_code2, int end_code2, int offset2, int mask2, ........ int start_codeN, int end_codeN, int offsetN, int maskN ); // Especifique o valor Unicode para start_codeN e end_codeN // Adicione offsetN ao valor e faça um 'AND' bit a bit com maskN, então // converta o valor para referência numérica de string. ?>
Exemplo #2 Exemplo de mb_encode_numericentity()
<?php
$str = "aAæÆあア𩸽";
/* Converte todos os caracteres UTF8 de até 4 bytes para referência numérica de caracteres HTML */
$convmap = [0, 0x1FFFFF, 0, 0x10FFFF];
var_dump(mb_encode_numericentity($str, $convmap, "utf8"));
/* Converte somente caracteres UTF8 de 2 bytes e de 4 bytes para referência numérica de caracteres HTML */
$convmap = [
0x80, 0x7FF, 0, 0x10FFFF,
0x10000, 0x1FFFFF, 0, 0x10FFFF,
];
var_dump(mb_encode_numericentity($str, $convmap, "utf8"));
?>
O exemplo acima produzirá:
string(46) "aAæÆあア鸽" string(28) "aAæÆあア鸽"