Home >php教程 >php手册 >PHP中处理截取汉字,出现乱码问题的2个类

PHP中处理截取汉字,出现乱码问题的2个类

WBOY
WBOYOriginal
2016-06-21 09:07:05855browse

汉字|问题

function  msubstr($str,$start,$len)  {    
       $strlen=$start+$len;    
       for($i=0;$i               if(ord(substr($str,$i,1))>0xa0)  {    
                       $tmpstr.=substr($str,$i,2);    
                       $i++;    
               }  else    
                       $tmpstr.=substr($str,$i,1);    
       }    
       return  $tmpstr;    
}  
 
-------------------------------------  
$str="这个字符好长呀,'";  
$Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...  
Echo  "$Short_Str";  
Function  csubstr($str,$start,$len)    
{    
$strlen=strlen($str);    
$clen=0;    
for($i=0;$i{    
if  ($clen>=$start+$len)    
break;    
if(ord(substr($str,$i,1))>0xa0)    
{    
if  ($clen>=$start)    
$tmpstr.=substr($str,$i,2);    
$i++;    
}    
else    
{    
if  ($clen>=$start)    
$tmpstr.=substr($str,$i,1);    
}    
}    
 
return  $tmpstr;    
}    
Function  showShort($str,$len)    
{    
$tempstr  =  csubstr($str,0,$len);    
if  ($str$tempstr)    
$tempstr  .=  "...";  //要以什么结尾,修改这里就可以.  
 
return  $tempstr;    
}    



Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn