php 截取UTF-8 GBK汉字
来源:互联网 发布:代理服务器ip和端口 编辑:程序博客网 时间:2024/05/01 10:02
整合代码function tpl_mbsubstr($str,$start,$len,$fCode = "UTF-8") { switch ($fCode){ case "UTF-8" : if($start < 0) $start = strlen($str)+$start; $retstart = $start+getOfFirstIndex($str,$start); // echo $retstart; $retend = $start + $len -1 + getOfFirstIndex($str,$start + $len); // echo $retend; return substr($str,$retstart,$retend-$retstart+1); default: $tmpstr=''; $start = $start*2; $len = $len*2; $strlen = strlen($str); for ( $i = 0; $i < $strlen; $i++ ) { if ( $i >= $start && $i < ( $start+$len ) ) { if ( ord(substr($str, $i, 1)) > 129 ) $tmpstr .= substr($str, $i, 2); else $tmpstr .= substr($str, $i, 1); } if ( ord(substr($str, $i, 1)) > 129 ) $i++; } if ( strlen($tmpstr) < $strlen ) $tmpstr .= "..."; return $tmpstr; }}
截取UTF-8
<?php
$str = "d中-在f在你是d我的国家困g在有和,人。工";
var_dump(strcut($str,0,10));
function strcut($str,$start,$len){
if($start < 0)
$start = strlen($str)+$start;
$retstart = $start+getOfFirstIndex($str,$start);
// echo $retstart;
$retend = $start + $len -1 + getOfFirstIndex($str,$start + $len);
// echo $retend;
return substr($str,$retstart,$retend-$retstart+1);
}
//判断字符开始的位置
function getOfFirstIndex($str,$start){
$char_aci = ord(substr($str,$start-1,1));
if(223<$char_aci && $char_aci<240)
return -1;
$char_aci = ord(substr($str,$start-2,1));
if(223<$char_aci && $char_aci<240)
return -2;
return 0;
}
?>
截取GBK
$tmpstr='';
$start = $start*2;
$len = $len*2;
$strlen = strlen($str);
for ( $i = 0; $i < $strlen; $i++ ) {
if ( $i >= $start && $i < ( $start+$len ) ) {
if ( ord(substr($str, $i, 1)) > 129 ) $tmpstr .= substr($str, $i, 2);
else $tmpstr .= substr($str, $i, 1);
}
if ( ord(substr($str, $i, 1)) > 129 ) $i++;
}
if ( strlen($tmpstr) < $strlen ) $tmpstr .= "...";
return $tmpstr;
- php 截取UTF-8 GBK汉字
- PHP中不同编码的汉字占的字节数不同gbk,GBK,UTF-8,utf-8
- PHP中不同编码的汉字占的字节数不同gbk,GBK,UTF-8,utf-8
- GBK和Utf-8字符串截取函数
- C语言汉字gbk转utf-8
- 没事写了两个函数,php中gbk和utf-8中文无乱码截取
- utf-8汉字字符串截取无乱码
- php 截取utf-8字符串
- php utf-8截取中文
- 中文截取,支持gb2312,gbk,utf-8,big5
- PHP 正则判断中文 UTF-8 & GBK
- php如何判断 gbk 和utf-8
- PHP 正则判断中文 UTF-8 & GBK
- PHP 正则判断中文 UTF-8 & GBK
- PHP转换编码问题GBK/UTF-8
- PHP中文GBK编码转UTF-8
- PHP转换编码问题GBK/UTF-8
- c# GBK,Unicode,UTF-8编码与汉字的转换
- xhEditor 嵌入到ASP.NET的步骤
- hive导入数据丢失问题
- 从未谋面只闻其名——缅怀张孝祥老师!
- MFC INI文件读写
- ChartDirector 5.0 for python 笔记【10】CDML 标记语言
- php 截取UTF-8 GBK汉字
- SimpleOnGestureListener中各种Touch事件
- Using Android monkeyrunner from Eclipse, both in Windows and Linux!
- 12.01.01 ~ 12.01.07
- Linux设备驱动程序0-hello world
- Oracle设置 tnslsnr口令的弊端
- HDOJ water 2023
- 递归算法--进制数实现
- 两份涉及到ioctl移植为ioctlsocket的源码。