截取指定字数的字符串中文有效_PHP教程

WBOY
풀어 주다: 2016-07-13 17:28:06
원래의
959명이 탐색했습니다.


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;
}
例子:$str = csubStr("大家好,截取指定字数的字符串,886!",0,10);
通常可以用来显示论坛主题列表,比如配合下面这个函数:
function showShort($str,$len)
{
if($len {
$tempStr = csubStr($str,0,$len);
$tempStr .= "...";
}
else
{
$tempStr =$str;
}
return $tempStr;
}
主题超过指定字数,就截取,然后加上省略号。否则显示全部字数。
eclipse 回复于:2001-11-24 21:39:31 [b][color=red]没多大用处吧?[/color][/b]
bigmouse 回复于:2001-11-29 12:02:54 还是有用处的,如果不判断中文字节就截取的话,当恰好截取到汉字的中间就会出现乱码,毕竟汉字是双字节的,要特殊判断一下。
evil 回复于:2002-11-12 11:42:07 mb_substr就能搞定


wubai 回复于:2002-11-12 11:49:03
还是看看这个吧~~~~~
http://www.chinaunix.net/cgi-bin/bbs/topic.cgi?forum=15&topic=351&show=0
windlike 回复于:2003-05-08 15:13:29 好呀 这个贴子发起的不错呀 我立刻就可以用到了 真是太棒了 感谢诸位

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/531809.htmlTechArticlefunction 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.=subst...
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿