php专区

 首页 > php专区 > PHP高级 > 缓存异常处理 > 求教,怎么判断是否是低字节

求教,怎么判断是否是低字节

分享到:
【字体:
导读:
         摘要:求教,如何判断是否是低字节?<?php header("content-type:text/html;charset=gbk"); $str="j这是ces测试dkfjdksj"; functionsubstr_gbk($str,...

求教,怎么判断是否是低字节
求教,如何判断是否是低字节?

header("content-type:text/html;charset=gbk");
$str="j这是ces测试dkfjdksj";

function substr_gbk($str,$start,$end)
{
$temp="";
for($i=$start;$i<=$end;$i++)
{
if(ord($str{$i})>0xa0)
{
$temp.=substr($str,$i,2);
$i++;
}else
{
$temp.=substr($str,$i,1);
}
}
return $temp;
}

echo substr_gbk($str,1,10); //从高字节截取正常
echo substr_gbk($str,2,10); //从低字节截取出现乱码
?>


以上代码从高字节截取没有问题,但如果从低字节截取出现乱码
请问有知道如果判断高低字节的办法吗?

------解决方案--------------------
本帖最后由 xuzuning 于 2013-10-30 11:08:53 编辑
$str="j这是ces测试dkfjdksj";
 
function substr_gbk($str,$start,$end)
{
    $temp="";
    for($i=0; $i<$start; $i++) if(ord($str{$i})>0xa0) $i++; //加上这行
    for(;$i<=$end;$i++)
    {
        if(ord($str{$i})>0xa0)
        {
            $temp.=substr($str,$i,2);
            $i++;
        }else
        {
            $temp.=substr($str,$i,1);
        }
    }
    return $temp;
}
 
echo substr_gbk($str,1,10); //这是ces测试
echo substr_gbk($str,2,10); //是ces测试
求教,怎么判断是否是低字节
分享到:
新人学习PHP有关问题,发现书上代码不对
新人学习PHP有关问题,发现书上代码不对 新人学习PHP问题,发现书上代码不对在书上发现一段代码,敲下来后发现不对。。 这里Teacher类中的teaching方法或不去不到$this->name。。书上却写可以获取的到,是我哪里写错了吗? PHP?基础 继承 ...
php图表,该如何处理
php图表,该如何处理 php图表legend.php文件 test.html文件        swfobject.embedSWF( "D:\\xampp\\htdocs\\FirstProject\\open-flash-chart.swf", "my_chart",   "600", "350", "9.0.0",   "D:\\xampp\\htdocs\\FirstProject\\expressInstall.swf",  {"data-file":"D:\\xampp\\htdocs\\FirstPro...
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……