str_sub
函數在 PHP 中用于截取字符串,但它不支持多字節字符的處理。對于多字節字符(如 UTF-8 編碼的中文字符),我們需要使用 mb_substr
函數來處理。
mb_substr
函數是 mbstring
擴展提供的,用于處理多字節字符串。以下是使用 mb_substr
函數的示例:
<?php
// 設置 UTF-8 編碼
mb_internal_encoding("UTF-8");
// 示例字符串
$str = "你好,世界!";
// 使用 mb_substr 截取字符串
$sub_str = mb_substr($str, 0, 3, "UTF-8"); // 截取前 3 個字節,即 2 個中文字符
// 輸出結果
echo $sub_str; // 輸出 "你好,"
?>
在這個示例中,我們首先設置了內部編碼為 UTF-8,然后使用 mb_substr
函數截取了字符串的前 3 個字節,即 2 個中文字符。注意,mb_substr
的第四個參數指定了字符串的編碼,這里我們使用了 “UTF-8” 編碼。