-
- function msubstr($str,$start,$len) {
- $strlen=$start+$len;
- for($i=0;$iif(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++;
- } bbs.it-home.org
- 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;
- }
-
复制代码
这里再分享一个更简洁的截取汉字长度的方法:
-
-
$len = 19;
- $text = "怎么将新闻的很长的标题只显示前面一些字,后面用.....来代替?";
- echo strlen($text)
复制代码
|