当前位置:首页 > PHP教程 > php函数 > 列表

支持中文和其他编码的php截取字符串函数分享(截取中文字符串)

发布:smiling 来源: PHP粉丝网  添加日期:2020-10-27 14:41:59 浏览: 评论:0 

这篇文章主要介绍了支持中文和其他编码的php截取字符串函数示例(截取中文字符串),需要的朋友可以参考下。

简单的字符串截取方法,支持中文和其他编码,传入相对应的参数直接调用就可以了,代码如下:

  1. /** 
  2.  * 字符串截取,支持中文和其他编码 
  3.  * @static 
  4.  * @access public 
  5.  * @param string $str 需要转换的字符串 
  6.  * @param string $start 开始位置 
  7.  * @param string $length 截取长度 
  8.  * @param string $charset 编码格式 
  9.  * @param string $suffix 截断显示字符 
  10.  * @return string 
  11.  */ 
  12. function msubstr($str$start=0, $length$charset="utf-8"$suffix=true) { 
  13.     if(function_exists("mb_substr")) 
  14.         $slice = mb_substr($str$start$length$charset); 
  15.     elseif(function_exists('iconv_substr')) { 
  16.         $slice = iconv_substr($str,$start,$length,$charset); 
  17.         if(false === $slice) { 
  18.             $slice = ''
  19.         } 
  20.     }else
  21.         $re['utf-8']   = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/"
  22.         $re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/"
  23.         $re['gbk']    = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/"
  24.         $re['big5']   = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/"
  25.         preg_match_all($re[$charset], $str$match); 
  26.         $slice = join("",array_slice($match[0], $start$length)); 
  27.     } 
  28.     return $suffix ? $slice.'...' : $slice

Tags: php截取字符串函数

分享到:

相关文章