当前位置: 首页 > 图文教程 > 网络编程 > PHP > 如何分别全角和半角以避免乱码

PHP
PHP默认安装产生系统漏洞
ip签名探针
4.与数据库的连接
2.PHP入门
1.PHP简介
随机头像PHP版
自动跳转中英文页面
漂亮但不安全的CTB
3.从实例开始
用PHP 4.2书写安全的脚本
PHP安全配置
如何对PHP程序中的常见漏洞进行攻击
风格模板初级不完全修改教程
优化NFR之一 --MSSQL Hello Buffer Overflow
不用GD库生成当前时间的PNG格式图象的程序
用PHP调用Oracle存储过程
PHP分页显示制作详细讲解
将PHP作为Shell脚本语言使用
MVC模式的PHP实现
编写PHP的安全策略

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 74 ::
收藏到网摘: n/a

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 的字符个数,如果半角字符为偶数,则表示位置刚好为整个汉字,如果为奇数,则为半个汉字,需要取下一个字符