程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 截取指定字數的字符串中文有效

截取指定字數的字符串中文有效

編輯:關於PHP編程


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;
}
例子:$str = csubStr("大家好,截取指定字數的字符串,886!",0,10);
通常可以用來顯示論壇主題列表,比如配合下面這個函數:
function showShort($str,$len)
{
if($len < (strlen($str)/2))
{
$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 好呀 這個貼子發起的不錯呀 我立刻就可以用到了 真是太棒了 感謝諸位

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved