文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>php中文处理函数

php中文处理函数

时间:2006-09-27  来源:felixtong


php使用ISO-8859-1处理字符串,也就是以单字节处理字符串。中文码属于多字节字符,在使用substr,
strlen,str_peplace等函数时很容易产生错误,处理中文特殊操作,必须使用一组中文处理函数。下面是
GBK的substr,strlen操作函数,前者并不像php的substr一样可以使用负数作为start,lenght.希望大家
来不断完善这些函数,达到高效实用的程度。
CODE:
[Copy to clipboard]
/*  
*/  
//gbk str handle  
function gbk_substr(&$str,$start,$length=-1)  
{  
if($length==0) return "";  
if($start;  
for($i=0;$i++)  
{  
if(ord(substr($str,$i,1))>=0x81)  
{  
$start++;  
$i++;  
}  
}  
if($start>gbk_strlen($str)) return "";  
$ss="";  
if($length==-1)  
{  
$ss=substr($str,$start);  
}  
else  
{  
echo "leghth=".$length."\n";  
for($i=$start;$i++)  
{  
if(ord(substr($str,$i,1))>=0x81)  
{  
$ss.=substr($str,$i,2);  
$length++;  
$i++;  
}  
else  
{  
$ss.=substr($str,$i,1);  
}  
}  
}  
return $ss;  
}
function gbk_strlen(&$str)  
{  
$len=strlen($str);  
$l=0;  
for($i=0;$i++)  
{  
if(ord(substr($str,$i,1))>=0x81) $i++;  
$l++;  
}  
return $l;  
}
function gb2312_strlen(&$str)  
{  
$len=strlen($str);  
$l=0;  
for($i=0;$i++)  
{  
if(ord(substr($str,$i,1))>=0xa1) $i++;  
$l++;  
}  
return $l;  
}
?>


相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载