• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

php中文处理函数_php

php 搞代码 7年前 (2018-06-19) 117次浏览 已收录 0个评论

<?
/*
php使用ISO-8859-1处理字符串,也就是以单字节处理字符串。中文码属于多字节字符,在使用substr,
strlen,str_peplace等函数时很容易产生错误,处理中文特殊操作,必须使用一组中文处理函数。下面是
GBK的substr,strlen操作函数,前者并不像php的substr一样可以使用负数作为start,lenght.希望大家
来不断完善这些函数,达到高效实用的程度。

http://www.gaodaima.com/45990.htmlphp中文处理函数_php

*/
//gbk str handle
function gbk_substr(&$str,$start,$length=-1)
{
if($length==0) return “”;
if($start<0) $start=0;
for($i=0;$i<$start;$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<$start+$length;$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<$len;$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<$len;$i++)
{
if(ord(substr($str,$i,1))>=0xa1) $i++;
$l++;
}
return $l;
}

?>

欢迎大家阅读《php中文处理函数_php》,跪求各位点评,若觉得好的话请收藏本文,by 搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:php中文处理函数_php
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址