mb_encode_numericentity

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

mb_encode_numericentityКодирует символ в числовую HTML-ссылку

Описание

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

Функция преобразовывает заданные коды символов в строке (string) string из кодов в числовые HTML-ссылки.

Список параметров

string

Кодируемая строка (string).

map

Параметр map — массив, задающий область кода для преобразования.

encoding

Параметр encoding устанавливает кодировку символов. Функция установит для параметра значение внутренней кодировки символов, если аргумент не передали или передали значение null.

hex

Должна ли возвращаемая на сущность ссылка быть в шестнадцатеричной нотации (иначе она будет в десятичной).

Возвращаемые значения

Функция возвращает преобразованную строку (string).

Ошибки

Функция выбрасывает ошибку ValueError, если значение параметра map не является списком целочисленных значений (int).

Список изменений

Версия Описание
8.4.0 Функция mb_encode_numericentity() теперь выбрасывает ошибку ValueError, если значение параметра map не является списком целочисленных значений (int).
8.0.0 Теперь параметр encoding принимает значение null.

Примеры

Пример #1 Пример использования параметра 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 );
// Задайте значения Юникода для start_codeN и end_codeN
// Добавьте к значению offsetN и сложите побитово с maskN,
// затем преобразуйте результат в число.
?>

Пример #2 Пример использования функции mb_encode_numericentity()

<?php

/* Преобразование левой части ISO-8859-1 в числовую HTML-ссылку */
$convmap = array(0x80, 0xff, 0, 0xff);
$str = mb_encode_numericentity($str, $convmap, "ISO-8859-1");

/* Преобразование заданного пользователем кода SJIS-win в блоке 95-104 в числовую ссыку*/
$convmap = array(
0xe000, 0xe03e, 0x1040, 0xffff,
0xe03f, 0xe0bb, 0x1041, 0xffff,
0xe0bc, 0xe0fa, 0x1084, 0xffff,
0xe0fb, 0xe177, 0x1085, 0xffff,
0xe178, 0xe1b6, 0x10c8, 0xffff,
0xe1b7, 0xe233, 0x10c9, 0xffff,
0xe234, 0xe272, 0x110c, 0xffff,
0xe273, 0xe2ef, 0x110d, 0xffff,
0xe2f0, 0xe32e, 0x1150, 0xffff,
0xe32f, 0xe3ab, 0x1151, 0xffff );
$str = mb_encode_numericentity($str, $convmap, "sjis-win");
?>

Смотрите также