function SubTitle($String,$Length) {
if (mb_strwidth($String, 'UTF8') <= $Length ){
return $String;
}else{
$I = 0;
$len_word = 0;
while ($len_word < $Length){
$StringTMP = substr($String,$I,1);
if ( ord($StringTMP) >=224 ){
$StringTMP = substr($String,$I,3);
$I = $I + 3;
$len_word = $len_word + 2;
}elseif( ord($StringTMP) >=192 ){
$StringTMP = substr($String,$I,2);
$I = $I + 2;
$len_word = $len_word + 2;
}else{
$I = $I + 1;
$len_word = $len_word + 1;
}
$StringLast[] = $StringTMP;
}
/* raywang edit it for dirk for (es/index.php)*/
if (is_array($StringLast) && !empty($StringLast)){
$StringLast = implode("",$StringLast);
$StringLast .= "...";
}
return $StringLast;
}
}
分享到:
相关推荐
PHP UTF-8 等宽度截取中英文字符.txt
字符串截取,支持中文、UTF8和其他编码。
本文主要介绍了php自定义截取中文字符串的方法,具有很好的参考价值,下面跟着小编一起来看下吧
主要介绍了php 截取utf-8格式的字符串实例代码的相关资料,并附实例代码,需要的朋友可以参考下
NULL 博文链接:https://onestopweb.iteye.com/blog/2394281
在PHP中截取UTF-8编码的字符串时,有可能碰到半字符的问题,也就是乱码,以下函数可以解决这个问题
php中自带strlen是返回的字节数,对于utf8编码的中文返回时3个,不满足需求。mb_strlen 可以根据字符集计算长度,比如utf8的中文计数为1,但这不符合微博字数限制需求,中文必须计算为2才可以。google了下,找到一个...
主要介绍了php自定义函数实现汉字转换utf8编码的方法,涉及php针对字符串的遍历、截取及编码转换相关操作技巧,需要的朋友可以参考下
主要介绍了php自定义中文字符串截取函数substr_for_gb2312及substr_for_utf8用法,结合实例形式分析了针对gb2312与utf-8编码的自定义中文字符串截取函数的实现与使用方法,需要的朋友可以参考下
NULL 博文链接:https://onestopweb.iteye.com/blog/2328758
php中截取字符串支持utf-8
本篇文章是对使用substr截取UTF-8中文字符串出现乱码的问题进行了详细的分析介绍,需要的朋友参考下
但字符串只要出现中文字符,就有可能导致PHP substr中文乱码,因为中文UTF-8编码,每个汉字占3字节,而GB2312占2字节,英文占1字节,截取位数不准确,substr()硬生生地将一个中文字符“锯”成两半,造成断开的字符会...
若为gb2312,先将其转为utf-8,在utf-8的基础上截取然后再转换回来 function cut_string($str,$from=1,$length=10,$code=’utf-8′,$rear=’…’){ if($code!=’utf-8′){//总是将字符串转为utf-8编码 $str=iconv($...
utf-8编码截取示例 [code]$str = ‘我abc是谁’; //utf-8编码的字符串echo mb_substr($str, 0, 2, ‘utf-8’); //输出 我a[/code 中英混合也完全没有问题。 友情提示 使用的时候要注意php文件的编码,和网页显示时...