查詢

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函式
分享連結