文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>如何在php中截取中文字串无乱码...

如何在php中截取中文字串无乱码...

时间:2010-08-07  来源:linwins

function mysubstr ($str,$start,$len=0,$cutchar="…") {
$str=str_replace(" ",' ',$str);
$str=str_replace("“",'“',$str);
$str=str_replace("”",'”',$str);
$str=str_replace("—",'—',$str);
$str=str_replace(""",'"',$str);
$str=str_replace(''',"'",$str);
$str=str_replace("<",'<',$str);
$str=str_replace(">",'>',$str);
$str=str_replace("&",'&',$str);
$str=preg_replace("/[\s]+/"," ",$str);
$tolen=strlen($str);
if(!($start==0 && $len>=$tolen)){
  //为方便操作,先将起始值和长度值转换为正数
  if($start<0)$start=$tolen+$start;if($start<0)$start=0;if($start>$tolen)return "";
  if($len<=0)$len=($tolen+$len)-$start;if($len<1)return "";
  if($len>$tolen)$len=$tolen;
  for($i=0;$i<$start;$i++){
   if(ord(substr($str,$i,1))>127){$i++;}
  }
  $start=$i;   //起始位置计算完成
  for($k=0;$k<$len;$k++,$i++){
   if(ord(substr($str,$i,1))>127){$i++;$k++;}
  }
  $len=$k;   //长度计算完成
  $str=substr($str,$start,$len);
  if($start>0){$str=$cutchar.$str;}
  if($start+$len<$tolen){$str.=$cutchar;}
}
$str=str_replace("&",'&',$str);
$str=str_replace('"','"',$str);
$str=str_replace("'",''',$str);
$str=str_replace("<",'<',$str);
$str=str_replace(">",'>',$str);
return $str;
}

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

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载