php中支持多种编码的中文字符串截取函数!
更新时间:2007年03月20日 00:00:00 作者:
支持多种编码的中文字符串截取函数!
/*
* @todo 中文截取,支持gb2312,gbk,utf-8,big5
*
* @param string $str 要截取的字串
* @param int $start 截取起始位置
* @param int $length 截取长度
* @param string $charset utf-8|gb2312|gbk|big5 编码
* @param $suffix 是否加尾缀
*/
function csubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
{
if(function_exists("mb_substr"))
return mb_substr($str, $start, $length, $charset);
$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($re[$charset], $str, $match);
$slice = join("",array_slice($match[0], $start, $length));
if($suffix) return $slice."…";
return $slice;
}
复制代码 代码如下:
/*
* @todo 中文截取,支持gb2312,gbk,utf-8,big5
*
* @param string $str 要截取的字串
* @param int $start 截取起始位置
* @param int $length 截取长度
* @param string $charset utf-8|gb2312|gbk|big5 编码
* @param $suffix 是否加尾缀
*/
function csubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
{
if(function_exists("mb_substr"))
return mb_substr($str, $start, $length, $charset);
$re['utf-8'] = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk'] = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5'] = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
preg_match_all($re[$charset], $str, $match);
$slice = join("",array_slice($match[0], $start, $length));
if($suffix) return $slice."…";
return $slice;
}
您可能感兴趣的文章:
- php中的一个中文字符串截取函数
- PHP中英混合字符串截取函数代码
- 多个PHP中文字符串截取函数
- php字符串截取函数用法分析
- php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8示例
- PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数
- PHP截取汉字乱码问题解决方法mb_substr函数的应用
- php mb_substr()函数截取中文字符串应用示例
- 浅析PHP substr,mb_substr以及mb_strcut的区别和用法
- php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
- php字符串截取函数mb_substr用法实例分析
相关文章
基于php导出到Excel或CSV的详解(附utf8、gbk 编码转换)
本篇文章是对php导出到Excel或CSV(附utf8、gbk 编码转换)进行了详细的分析介绍,需要的朋友参考下2013-06-06Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置
Win2003下APACHE+PHP5+MYSQL4+PHPMYADMIN 的简易安装配置...2006-11-11PHP编程文件处理类SplFileObject和SplFileInfo用法实例分析
这篇文章主要介绍了PHP编程文件处理类SplFileObject和SplFileInfo用法,结合实例形式分析了文件处理类SplFileObject和SplFileInfo的功能、定义、使用方法与相关注意事项,需要的朋友可以参考下2017-07-07PHP函数import_request_variables()用法分析
这篇文章主要介绍了PHP函数import_request_variables()用法,结合实例形式分析了import_request_variables函数的功能,定义及相关使用技巧,需要的朋友可以参考下2016-04-04
最新评论