php mb_substr 从右往左,php substr mb_substr

string substr ( string $string , int $start [, int $length ] )

1、按字节切分

2、常用于切分英文字符,切分中文常会出现乱码。

?

示例:

有php程序文件编码是utf-8,文件内容如下:

class="php" name="code">$str = "123456中国";

echo substr($str,0,7);

echo substr($str,0,9);

?

结果如下:

12bddd9d93c9e629855c130e3ebc7056.png

?

结果分析:

由于文件编码是utf-8,每个中文字符占3个字节,substr按字节切分字符串,前6个字节分别对应“123456”,第789三个字节对应字符“中”,所以,从0位开始截取长度为9的结果是“123456中”。

而0位从开始截取长度为7的子串时,字符“中”被从拆开了,从结果是“123456”,加上后面的乱码。

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

1、按字符切分

2、常用切分中文字符,这样可以避免出现中文乱码

3、切分中文时,需要指定编码,指定的编码须确保与当前文件编码一致。

?

示例:

有php程序文件编码是utf-8,文件内容如下:

$str = "123456中国";

echo mb_substr($str,0,8,'utf-8');

?

结果如下:

798e263ea0eafb49606692dcf1b13d1a.png

?

补充说明:

1、gbk编码下,一个中文字符占两个字节,一个英文字符占一个字节。

2、utf-8编码下,一个中文字符占三个字节,一个英文字符占一个字节。

?

http://huangqiqing123.iteye.com/blog/1975549

?

2a69bdc19a0c9715590c864a5fea2a03.png

大小: 3 KB

92d1ce82d70116d7c0403d68af63c467.png

大小: 3.6 KB

查看图片附件

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值