截取中文字符串
来源:互联网 发布:淘宝升级企业店铺 编辑:程序博客网 时间:2024/05/16 06:40
/**
* 截取中文字符串
*/
function cut_str($string, $sublen, $start = 0, $code = 'UTF-8')
{
if($code == 'UTF-8'){
$pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
preg_match_all($pa, $string, $t_string);
if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."...";
return join('', array_slice($t_string[0], $start, $sublen));
}
else{
$start = $start*2;
$sublen = $sublen*2;
$strlen = strlen($string);
$tmpstr = '';
for($i=0; $i< $strlen; $i++){
if($i>=$start && $i< ($start+$sublen)){
if(ord(substr($string, $i, 1))>129){
$tmpstr.= substr($string, $i, 2);
}
else{
$tmpstr.= substr($string, $i, 1);
}
}
if(ord(substr($string, $i, 1))>129) $i++;
}
if(strlen($tmpstr)< $strlen ) $tmpstr.= "...";
return $tmpstr;
}
}
//截取中文字符串 gbk
function chinesesubstr($str, $start, $len) {
$tmpstr =null;
$strlen = $start + $len;
for($i = $start; $i < $strlen;) {
if (ord ( substr ( $str, $i, 1 ) ) > 0xa0){
$tmpstr .= substr ( $str, $i, 2 );
$i=$i+2;
} else{
$tmpstr .= substr ( $str, $i, 1 );
$i++;
}
}
return $tmpstr;
}
- php 截取中文字符串
- PHP截取中文字符串
- python截取中文字符串
- 截取中文字符串
- php截取中文字符串
- PHP截取中文字符串
- 中文字符串截取
- PHP截取中文字符串
- php截取中文字符串
- 截取中文字符串
- js截取中文字符串
- python截取中文字符串
- php中文字符串截取
- php 截取中文字符串
- 中文字符串截取函数
- thinkphp截取中文字符串
- php截取中文字符串
- js截取中文字符串
- java 第六天 数组
- 飞奔的羊
- linux基本命令
- switch语句与多重if选择结构的异同点
- 浅尝 依赖倒置&控制反转&依赖注入
- 截取中文字符串
- mysql的text字段长度
- 静态多态
- 九度题目1054:字符串内排序
- 反射小结
- curl 指定Ip获取远程文件
- Spring项目启动报错
- vijos-P1083 小白逛公园
- UITableView 编辑(一个实现了添加 删除功能的iOS通讯录)