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


Posted in PHP onOctober 09, 2006

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 相关文章推荐
PHP与MySQL开发中页面乱码的产生与解决
Mar 27 PHP
PHP投票系统防刷票判断流程分析
Feb 04 PHP
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
May 06 PHP
在smarty中调用php内置函数的方法
Feb 07 PHP
PHP_NETWORK_GETADDRESSES: GETADDRINFO FAILED问题解决办法
May 04 PHP
ThinkPHP在新浪SAE平台的部署实例
Oct 31 PHP
php通过获取头信息判断图片类型的方法
Jun 26 PHP
PHP isset()与empty()的使用区别详解
Feb 10 PHP
php 截取GBK文档某个位置开始的n个字符方法
Mar 08 PHP
php模仿qq空间或朋友圈发布动态、评论动态、回复评论、删除动态或评论的功能(中)
Jun 11 PHP
CodeIgniter整合Smarty的方法详解
Aug 25 PHP
使用ucenter实现多站点同步登录的讲解
Mar 21 PHP
玩转虚拟域名◎+ .
Oct 09 #PHP
桌面中心(四)数据显示
Oct 09 #PHP
桌面中心(一)创建数据库
Oct 09 #PHP
桌面中心(二)数据库写入
Oct 09 #PHP
桌面中心(三)修改数据库
Oct 09 #PHP
如何对PHP程序中的常见漏洞进行攻击(上)
Oct 09 #PHP
PHP4在WinXP下IIS和Apache2服务器上的安装实例
Oct 09 #PHP
You might like
PHP PDOStatement::closeCursor讲解
2019/01/30 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
Avengerls vs Newbee BO3 第三场2.18
2021/03/10 DOTA
js+FSO遍历文件夹下文件并显示
2007/03/07 Javascript
js 数组实现一个类似ruby的迭代器
2009/10/27 Javascript
JavaScript Timer实现代码
2010/02/17 Javascript
事件模型在各浏览器中存在差异
2010/10/20 Javascript
当达到输入长度时表单自动切换焦点
2014/04/06 Javascript
js中使用replace方法完成某个字符的转换
2014/08/20 Javascript
基于jQuery实现的图片切换焦点图整理
2014/12/07 Javascript
原生js实现电商侧边导航效果
2017/01/19 Javascript
详解JavaScript事件循环机制
2018/09/07 Javascript
用图片替换checkbox原始样式并实现同样的功能
2018/11/15 Javascript
Vue移动端实现图片上传及超过1M压缩上传
2019/12/23 Javascript
30秒轻松实现TensorFlow物体检测
2018/03/14 Python
Python变量赋值的秘密分享
2018/04/03 Python
python利用requests库进行接口测试的方法详解
2018/07/06 Python
Python for循环与range函数的使用详解
2019/03/23 Python
Python 正则表达式爬虫使用案例解析
2019/09/23 Python
Django中自定义查询对象的具体使用
2019/10/13 Python
python将四元数变换为旋转矩阵的实例
2019/12/04 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
pycharm不能运行.py文件的解决方法
2020/02/12 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
利用Python实现自动扫雷小脚本
2020/12/17 Python
html5使用canvas画空心圆与实心圆
2014/12/15 HTML / CSS
莫斯科制造商的廉价皮大衣:Fursk
2020/06/09 全球购物
财务工作疏忽检讨书
2014/09/11 职场文书
励志广播稿300字(5篇)
2014/09/15 职场文书
出差报告怎么写
2014/11/06 职场文书
致三级跳运动员加油稿
2015/07/21 职场文书
开学第一天的感想
2015/08/10 职场文书
奖学金主要事迹范文
2015/11/04 职场文书
Python基础之教你怎么在M1系统上使用pandas
2021/05/08 Python
详解NumPy中的线性关系与数据修剪压缩
2022/05/25 Python