php substr mb_substr_PHP_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > PHP > php substr mb_substr

php substr mb_substr

 2013/11/16 8:33:27  huangqiqing123  程序员俱乐部  我要评论(0)
  • 摘要:stringsubstr(string$string,int$start[,int$length])1、按字节切分2、常用于切分英文字符,切分中文常会出现乱码。示例:有php程序文件编码是utf-8,文件内容如下:$str="123456中国";echosubstr($str,0,7);echosubstr($str,0,9);结果如下:结果分析:由于文件编码是utf-8,每个中文字符占3个字节,substr按字节切分字符串,前6个字节分别对应“123456”,第789三个字节对应字符“中”
  • 标签:PHP

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);

?
结果如下:

?

结果分析:
由于文件编码是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');

?
结果如下:

?
补充说明:
1、gbk编码下,一个中文字符占两个字节,一个英文字符占一个字节。
2、utf-8编码下,一个中文字符占三个字节,一个英文字符占一个字节。

?

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

?

  • 大小: 3 KB
  • 大小: 3.6 KB
  • 查看图片附件
上一篇: php上传文件控制代码 下一篇: 没有下一篇了!
发表评论
用户名: 匿名