/*
* 中文截取,支持gb2312,gbk,utf-8,big5
*
* @param string $str 要截取的字串
* @param int $start 截取起始位置
* @param int $length 截取长度
* @param string $charset utf-8|gb2312|gbk|big5 编码
* @param $suffix 是否加尾缀
*/
public function csubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
{
if(function_exists("mb_substr"))
{
if(mb_strlen($str, $charset) <= $length) return $str;
$slice = mb_substr($str, $start, $length, $charset);
}
else
{
$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);
if(count($match[0]) <= $length) return $str;
$slice = join("",array_slice($match[0], $start, $length));
}
if($suffix) return $slice."…";
return $slice;
}
分享到:
相关推荐
C#写的 GBK GB2312 UTF-8转换 功能简单,仅供学习
编码转换器 绿色版 gb2312 gbk utf-8 万能转换
本资源为GB2312转UTF-8的C语言代码,实现方式为查表的方式,提供了可以调用的接口,里面有makefile,用于别的平台自行修改。
GB2312编码与utf-8编码的字符串的转换,主要使用windows api函数MultiByteToWideChar和WideCharToMultiByte,代码简洁,经测试可用
GBK、UTF-8批量文件3秒快速转码工具(支持GBK,UTF-8免费转换),UTF-8/GBK编码在线转换工具,压缩包可以有多目录与文件,如目录中有图片不会转码,但是会随转码好的文件一起打包下载。 使用帮助 . 上传压缩包(仅支持zip...
UNICODE\Unicode,GBK,GB2312,UTF-8概念基础
GBK GB2312转UTF-8工具.可以批量地将文件编码进行转换.
GBK-GB2312-UTF-8编码批量转换
批量 convertz.rar GBK 转 UTF-8 gb2312 转 UTF-8 Iso-8959-1 转 UTF-8
可以实现编码转换,使用编码utf-8转换成gbk
基于keil,单片机,实现gb2312和utf8编码的相互转换,实现web中文下发后台的封装转换。
请使用这款软件,直接将代码转换为UTF-8 注意: 1、xml不需要转换,因为xml默认是utf-8,在你新建的时候已经是正确的格式了 2、图片更不需要转换 3、bin目录,gen目录的直接忽略 4.只需要src目录的代码转换,请确保...
一、各编码间的区别及故事来历 UTF-8:Unicode TransformationFormat-8bit,允许含BOM,但通常不含BOM。...如,如果是UTF8编码,则在外国人的英文IE上也能显示中文,他们无需下载IE的中文语言支持包。
批量文件转码工具(支持 GBK,UTF-8 转换)。 批量文件转码工具,支持GBK,UTF-8转换,window下面使用,亲测可以使用!!!!!!!!!! 批量 文件转码 工具 GBK UTF-8
GBK、GB2312等与UTF8之间都必须通过Unicode编码才能相互转换
基于MFC CString的GBK与UTF-8编码转换,在网上找到一些代码都有问题,但都存在一些错误。现在改好了,与大家分享一下。 (MFC 非UNICODE)
Recognize类判定指定文本文件为UTF-8还是GBK编码格式。
GBK---UTF-8 格式互相转换转换适用。至于怎么用自己去研究
1.GBK是在国家标准 GB2312基础上扩容后兼容GB2312的标准(好像还不是国家标准)。GBK编码专门用来解决中文编码的,是双字节的。不论中英文都是双字节的。 2.UTF-8 编码是用以解决国际上字符的一种多字节编码,它对...
c 源码, gbk和utf8 互相转换(不含库) 通过查表实现转换 实际转换为 gbk -- unicode --utf8