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

2015-01-24信息快讯网
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中ob_get_length缓冲与获取缓冲长度实例
Linux下ZendOptimizer的安装与配置方法
PHP 中英文混合排版中处理字符串常用的函数
PHP字符转义相关函数小结(php下的转义字符串)
如何提高MYSQL数据库的查询统计速度 select 索引应用
PHP+Tidy-完美的XHTML纠错+过滤
在任意字符集下正常显示网页的方法二(续)
在任意字符集下正常显示网页的方法一
php中支持多种编码的中文字符串截取函数!
理解PHP5中static和const关键字的区别
PHP_MySQL教程-第二天while循环与数据库操作第1/2页
PHP 中dirname(_file_)讲解
使用TinyButStrong模板引擎来做WEB开发
使用 eAccelerator加速PHP代码的目的
mysql4.1以上版本连接时出现Client does not support authentication protocol问题解决办法
excellent!――ASCII Art(由目标图象生成ascii)
<b>一些常用的php函数</b>
截获网站title标签之家内容的例子
如何去掉文章里的 html 语法
玩转虚拟域名◎+ .
用PHP连接Oracle数据库
如何过滤高亮显示非法字符
一个ORACLE分页程序,挺实用的.
用PHP连mysql和oracle数据库性能比较
使用PHP和XSL stylesheets转换XML文档
用PHP调用Oracle存储过程
如何使用PHP中的字符串函数
vBulletin Forum 2.3.xx SQL Injection
用PHP函数解决SQL injection
Oracle Faq(Oracle的字符集问题)
用ActivePHP打造版本管理系统
PHP截取中文字符串的问题
外观差异不大 野马5.0L GT国内谍照曝光
no match title
no match title
no match title
no match title
no match title
©2014-2024 dbsqp.com