php中截取字符串支持utf-8
php中截取字符串支持utf-8
发布时间:2016-12-29 来源:查字典编辑
摘要:截取字符串

截取字符串

<?php

$string="2006年4月我又长大了一岁!";

echosubstr($string,1)."...";

//截取字符串

functionSubstrGB($in,$num)

{

$pos=0;

$out="";

while($pos<strlen($in))

{

$c=substr($in,$pos,1);

if($c=="n")break;

if(ord($c)>128)

{

$out.=$c;

$pos++;

$c=substr($in,$pos,1);

$out.=$c;

}

else

{

$out.=$c;

}

$pos++;

if($pos>=$num)break;

}

return$out;

}

echoSubstrGB($string,8);

?>

<?php

/***************************************************************************

*cut_string.php

*------------------------------

*Date:Jul16,2005

*Copyright:none

*Mail:

*

*作用:截取中文字符.

*

*

***************************************************************************/

functioncut_str($string,$sublen,$start=0,$code='UTF-8')

{

if($code=='UTF-8')

{

$pa="/[x01-x7f]|[xc2-xdf][x80-xbf]|xe0[xa0-xbf][x80-xbf]|[xe1-xef][x80-xbf][x80-xbf]|xf0[x90-xbf][x80-xbf][x80-xbf]|[xf1-xf7][x80-xbf][x80-xbf][x80-xbf]/";

preg_match_all($pa,$string,$t_string);

if(count($t_string[0])-$start>$sublen)returnjoin('',array_slice($t_string[0],$start,$sublen))."...";

returnjoin('',array_slice($t_string[0],$start,$sublen));

}

else

{

$start=$start*2;

$sublen=$sublen*2;

$strlen=strlen($string);

$tmpstr='';

for($i=0;$i<$strlen;$i++)

{

if($i>=$start&&$i<($start+$sublen))

{

if(ord(substr($string,$i,1))>129)$tmpstr.=substr($string,$i,2);

else$tmpstr.=substr($string,$i,1);

}

if(ord(substr($string,$i,1))>129)$i++;

}

if(strlen($tmpstr)<$strlen)$tmpstr.="...";

return$tmpstr;

}

}

echo"<br>".cut_str($string,8,$start=0,$code='sdf');

?>

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类