快精灵印艺坊 您身边的文印专家
广州名片 深圳名片 会员卡 贵宾卡 印刷 设计教程
产品展示 在线订购 会员中心 产品模板 设计指南 在线编辑
 首页 名片设计   CorelDRAW   Illustrator   AuotoCAD   Painter   其他软件   Photoshop   Fireworks   Flash  

 » 彩色名片
 » PVC卡
 » 彩色磁性卡
 » 彩页/画册
 » 个性印务
 » 彩色不干胶
 » 明信片
   » 明信片
   » 彩色书签
   » 门挂
 » 其他产品与服务
   » 创业锦囊
   » 办公用品
     » 信封、信纸
     » 便签纸、斜面纸砖
     » 无碳复印纸
   » 海报
   » 大篇幅印刷
     » KT板
     » 海报
     » 横幅

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

function ChgTitle($title)
{

$length = 46;
if (strlen($title)>$length) {
$temp = 0;
for($i=0; $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 的字符个数,假如半角字符为偶数,则表示位置刚好为整个汉字,假如为奇数,则为半个汉字,需要取下一个字符 
返回类别: 教程
上一教程: 简朴的页面缓冲技术(二)
下一教程: PHP自动更新新闻DIY 

您可以阅读与"如何分别全角和半角以避免乱码 "相关的教程:
· 如何去掉文章里的 html 语法 
· 如何用PHP把RDF内容插入Web站点之中(三)
· PHP如何统计在线人数
· 使用php 5时MySQL返回乱码的解决办法
· 如何用php作线形图的函数
    微笑服务 优质保证 索取样品