文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>php截取utf8字符串——按实际宽度截取

php截取utf8字符串——按实际宽度截取

时间:2007-10-02  来源:hdyzyb04

   看到网上很多人提到,截取中英混排字符串时候宽度不一致使页面难看的问题。我在一位仁兄写的截取utf8字符串函数基础上,稍微微更改了一下实现了按实际长度来截取中英混排字符串。大致按一个汉语字符的宽度相当于两个英文字符来计算。

   具体实现如下:
function subUTF8($string, $length = 80, $etc = '...')
{
$strcut = '';
$strLength = 0;
$width  = 0;
if(strlen($string) > $length) {
  //将$length换算成实际UTF8格式编码下字符串的长度
  for($i = 0; $i = strlen($string) )
    break;
   if ( $width>=$length){
    break;
   }
   //当检测到一个中文字符时
   if( ord($string[$strLength]) > 127 ){
    $strLength += 3;
    $width     += 2;              //大概按一个汉字宽度相当于两个英文字符的宽度
   }
   else{
    $strLength += 1;
    $width     += 1;
   }
  }
  return substr($string, 0, $strLength).$etc;
} else {
  return $string;
}
}

echo subUTF8("他进了房间啊都是客积分卡上的纠纷",20);
echo "
".subUTF8("fjdaskfjkdsajflkjdslakfjlkdsjflkjdsa",20);
echo "
".subUTF8("fdsf防静电ajfldkjaf",20);

经测试发现在firfox下效果比较好,firfox下utf8字符中英宽度比例接近2:1的比例。

相关阅读 更多 +
排行榜 更多 +
胜利女神新的希望小米服手游下载

胜利女神新的希望小米服手游下载

角色扮演 下载
我要当老板伐木工厂游戏下载

我要当老板伐木工厂游戏下载

模拟经营 下载
涡轮螺旋桨最新版下载

涡轮螺旋桨最新版下载

模拟经营 下载