A-A+

utf-8中文截取函数

2013年10月15日 PHP技术文章 评论 8 条 阅读 373 views 次

在使用 php函数截取 UTF-8 中文字符时,通常不会出现什么问题,UTF-8是国际通用的字符类型,也是使用较多的类型之一,但有时候,在页面当中进行截取字符串时,如果字符串中出现逗号,句话等,未尾截取的字符就会出现一个黑框里面有一个问号,或者索性是问号或其它转码后的字符,不能正常显示。

暂时先不去管它是什么原因吧,先找一个可以使用的utf-8中文截取函数,把功能先实现了,注意一点的是,使用这个函数,首先要将网页的编码进行转换成 utf-8,这样不会出现乱码的问题,下面是函数的说明。

//函数说明:$str:字符串.$maxlen:在该数以下长度不加"...".$len:截取长度

function utf_substr($str,$maxlen,$len){
if(strlen("$str")>=$maxlen){
for($i=0;$i<$len;$i++){ $temp_str=substr($str,0,1); if(ord($temp_str) > 127){
$i++;
if($i<$len){ $new_str[]=substr($str,0,3); $str=substr($str,3); } }else{ $new_str[]=substr($str,0,1); $str=substr($str,1); } } return join($new_str)."..."; }else{ return $str; } } [/code]

8 条留言  访客:8 条  博主:0 条

  1. 锋子

    你家小老鼠饿了……

  2. 沃默博客

    截取成功。。呼呼

  3. 海涛

    备份,技术文章。以后备用。

  4. 免费部落

    这是一个技术活了,我以前不没去想过这个问题!

  5. 铁拐李养生

    可是去试试。

  6. PHP二次开发

    不错不错。

  7. 麦田一根葱

    马克一个 正需要

  8. 宋镇江

    系统自带有一个转换函数..

给我留言