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” 编码。