mb_encode_numericentity
PHP Manual
PHP Manual»Fonctions sur les chaînes de caractères multioctets»mb_encode_numericentity

mb_encode_numericentity

(PHP 4 >= 4.0.6, PHP 5, PHP 7, PHP 8)

mb_encode_numericentityEncode les caractères en référence numérique HTML

Description

function mb_encode_numericentity(
    string $string,
    array $map,
    ?string $encoding = null,
    bool $hex = false
): string

Convertit les codes des caractères spécifiés de la string string en référence numérique HTML.

Liste de paramètres

string

La string à encoder.

map

map est un tableau qui spécifie les codes à convertir.

encoding
Le paramètre encoding est l'encodage des caractères. S'il est omis ou null, l'encodage de caractères interne sera utilisé.
hex

Si l'entité de référence retournée devrait être en notation hexadécimale (sinon il est en notation décimale).

Valeurs de retour

La string convertie.

Erreurs / Exceptions

Lève une exception ValueError si map n'est pas une liste d'ints.

Historique

Version Description
8.4.0 mb_encode_numericentity() lève désormais une exception ValueError si map n'est pas une liste d'ints.
8.0.0 encoding est désormais nullable.

Exemples

Exemple #1 Exemple avec 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 );
// Spécifie les valeurs Unicode de début (start_codeN) et fin (end_codeN)
// Ajoutez offsetN à la valeur, et faites un ET bit-à-bit avec maskN, puis
// il convertit la valeur obtenue en entité numérique
?>

Exemple #2 Exemple avec mb_encode_numericentity()

<?php
$str = "aAæÆあア𩸽";

/* Convertit tous les caractères UTF-8 jusqu’à 4 octets en références numériques HTML */
$convmap = [0, 0x1FFFFF, 0, 0x10FFFF];
var_dump(mb_encode_numericentity($str, $convmap, "utf8"));

/* Convertit uniquement les caractères UTF-8 de 2 et 4 octets en références numériques HTML */
$convmap = [
    0x80, 0x7FF, 0, 0x10FFFF,
    0x10000, 0x1FFFFF, 0, 0x10FFFF,
];
var_dump(mb_encode_numericentity($str, $convmap, "utf8"));
?>

L'exemple ci-dessus va afficher :

string(46) "&#97;&#65;&#230;&#198;&#12354;&#12450;&#40509;"
string(28) "aA&#230;&#198;あア&#40509;"

Voir aussi

To Top