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

原创 2004年06月29日 13:27:00
---------------------------------------------------------------  
 
 
function  msubstr($str,$start,$len)  {    
       $strlen=$start+$len;    
       for($i=0;$i<$strlen;$i++)  {    
               if(ord(substr($str,$i,1))>0xa0)  {    
                       $tmpstr.=substr($str,$i,2);    
                       $i++;    
               }  else    
                       $tmpstr.=substr($str,$i,1);    
       }    
       return  $tmpstr;    
}  
 
-------------------------------------  
<?PHP  
$str="这个字符好长呀,^_^";  
$Short_Str=showShort($str,4);//截取前面4个汉字,结果为:这个字符...  
Echo  "$Short_Str";  
Function  csubstr($str,$start,$len)    
{    
$strlen=strlen($str);    
$clen=0;    
for($i=0;$i<$strlen;$i++,$clen++)    
{    
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;    
}    

php取含有中文的字符串的真实长度(一个中文算两个字符)

首先学习一下相关知识,参照链接:http://blog.csdn.net/kaosini/article/details/7601185 同一段PHP编码 $str = "三知sunc...
  • kaosini
  • kaosini
  • 2012年05月25日 11:09
  • 1282

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

---------------------------------------------------------------    function  msubstr($str,$start,$le...
  • ttllook
  • ttllook
  • 2006年09月11日 13:32
  • 363

SQL 截取字符串,中文算两个字符的方法

 --SQL 截取字符串方法,中文算两个字符的方法。--方法跟水哥学习的,支持一下水哥的博客--http://hi.csdn.net/link.php?url=http://blog.csdn.net...
  • Beirut
  • Beirut
  • 2009年11月17日 16:05
  • 3810

PHP截取汉字乱码问题

前提: php.ini打开编辑,搜索mbstring.dll(Ctrl+F),找到  ;extension=php_mbstring.dll  把前面的;号去掉 mb_substr:按字来切分字符...
  • kevinlinkai
  • kevinlinkai
  • 2014年03月07日 21:39
  • 542

汉字占多个字节,若按指定字节长度截取字符串,如何处理1/3个汉字?

截取字符串的函数 按照字节 编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”...
  • never_cxb
  • never_cxb
  • 2015年11月05日 22:20
  • 1807

PHP之随机截取汉字

今天给大家分享一下如何利用PHP自带的方法,来截取汉字。大家注意哦,截取汉字和截取字符的方法是不一样的,因为一个汉字会因为编码不同,占的字符数量会不同,会是2或者3个字符!下面我讲讲具体方法:    ...
  • bayren820
  • bayren820
  • 2015年12月28日 20:45
  • 827

PHP中文处理 中文字符串截取(mb_substr)和获取中文字符串字数

一、中文截取:mb_substr()  mb_substr( $str, $start, $length, $encoding )  $str,需要截断的字符串  $start,截断开始...
  • yongzhen150
  • yongzhen150
  • 2013年11月19日 09:28
  • 1928

PHP中substr截取中文乱码解决方案

PHP中substr截取中文乱码解决方案,这里提供了两种方法,方法一为加载extension=php_mbstring.dll,方法二为写一个截取中英文的函数...
  • qq_28602957
  • qq_28602957
  • 2016年03月21日 17:09
  • 4061

解决rtrim产生乱码的问题

1、问题重现 $item = '3×魔力之源、300×10钻石、300000×金币、'; var_dump( rtrim('、', $item) ); string '3×魔力之源、300×10钻石、...
  • Balmunc
  • Balmunc
  • 2016年05月26日 19:59
  • 929

如何解决用substr()函数对中文字符串截取时的乱码

在PHP程序开发中,经常会执行字符串的截取操作,比如输出信息列表时,标题不宜过长,打印文章摘要时,也要执行一系列的字符串截取操作。遇到这些需求时,我们经常会想到使用substr()方法来实现,subs...
  • luyaran
  • luyaran
  • 2016年10月24日 19:37
  • 3315
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:PHP中处理截取汉字,出现乱码问题的2个类
举报原因:
原因补充:

(最多只允许输入30个字)