English | 简体中文 | 繁體中文
查询

mb_encode_numericentity()函数—用法及示例

「 将字符串中的非ASCII字符编码为十进制或十六进制的字符实体 」


函数名称:mb_encode_numericentity()

适用版本:PHP 4 >= 4.0.6, PHP 5, PHP 7

函数描述:将字符串中的非ASCII字符编码为十进制或十六进制的字符实体

用法:

string mb_encode_numericentity ( string $str , array $convmap , string $encoding = mb_internal_encoding() , bool $is_hex = false ): string

参数:

  • $str:需要进行编码的字符串。
  • $convmap:包含从字符到数值的映射的数组。数组的格式为 array(字符开始, 字符结束, 基数, 转换后的字符串编码)。例如,要将所有字符转换为十六进制实体,可以使用 array(0, 0x10FFFF, 16, '&#x%X;')。
  • $encoding:可选参数,指定字符串编码,默认为当前的内部编码。
  • $is_hex:可选参数,指定是否将实体编码为十六进制。默认为false,即使用十进制编码。

返回值:编码后的字符串。

示例:

$str = "Hello, 世界!";
$convmap = array(0x80, 0x10FFFF, 0, 0xFFFD);
$encoded_str = mb_encode_numericentity($str, $convmap, 'UTF-8', true);
echo $encoded_str;

输出:

Hello, 世界!

以上示例中,我们将字符串"Hello, 世界!"中的非ASCII字符编码为十六进制字符实体。字符"世"的十六进制编码为4E16,字符"界"的十六进制编码为754C,因此输出结果为"Hello, 世界!"。

补充纠错
上一个函数: mb_encoding_aliases()函数
下一个函数: mb_encode_mimeheader()函数
热门PHP函数
分享链接