29

如果我使用substr()而不是mb_substr()函数,它会对我的结果产生任何影响或影响吗?

由于我的服务器不支持 mb_ 功能,我必须将其替换为substr()

4

3 回答 3

53

如果您有 utf-8 编码,请使用 mb_substr

例子 :

echo substr("hi mémé", 0 , 5); // will print hi m�
echo mb_substr("hi mémé", 0 , 5); // will print hi mé
于 2019-05-21T12:27:38.160 回答
15

如果您使用作为子字符串的多字节文本,它将影响您的脚本。如果是这种情况,我强烈建议您在 php.ini 中启用 mb_* 函数或执行此操作ini_set("mbstring.func_overload", 2);

于 2012-10-29T11:39:27.917 回答
4

字符串substr ( 字符串 $string , int $start [, int $length ] )

返回由 start 和 length 参数指定的字符串部分。

字符串mb_substr ( 字符串 $str , int $start [, int $length [, string $encoding ]] )

根据字符数执行多字节安全 substr() 操作。位置从 str 的开头开始计算。第一个字符的位置是 0。第二个字符的位置是 1,依此类推。

于 2012-10-29T11:30:23.050 回答