如何分别全角和半角以避免乱码

时间:2010-01-08 08:24:34   来源:第二电脑网  作者:第二电脑网

  第二电脑网导读:tle = substr( $title,0, $length)."..."; else $title = substr( $title,0, $length 1)."..."; } return $title; } 原理就是截断一个字符,看看其ascII码是不是大于128,如果是,说明截断的是一个全角汉字,那么就退后一个截断。用 $length控制长度 备注:循环判断字符串里面的 >128 的字符个数,如果半角字符为偶...
  正文:

function ChgTitle($title)
{

$length = 46;
if (strlen($title)>$length) {
$temp = 0;
for($i=; $i<$length; $i )
if (ord($title[$i]) > 128)
$temp ;
if  $temp%2 == 0)
$title = substr( $title,0, $length)."...";
else
$title = substr( $title,0, $length 1)."...";
}
return $title;
}

原理就是截断一个字符,看看其ascII码是不是大于128,如果是,说明截断的是一个全角汉字,那么就退后一个截断。用 $length控制长度

备注:循环判断字符串里面的 >128 的字符个数,如果半角字符为偶数,则表示位置刚好为整个汉字,如果为奇数,则为半个汉字,需要取下一个字符


来源:http://www.002pc.com/master/College/Programming/PHP/11613.html

收藏到:

关于《如何分别全角和半角以避免乱码》文章的评论

共有 0 位网友发表了评论 此处只显示部分留言 点击查看完整评论页面

随机文章

    SQL Error: select * from ***_ecms_article where classid='86' and checked=1 order by rand() limit 10

顶出来的热门

    SQL Error: select * from ***_ecms_article where classid='86' and checked=1 order by diggtop desc,id desc limit 10
站内搜索: 高级搜索

热门搜索: Windows style 系统 tr IP QQ CPU 安装 function 注册 if td