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

php自定義函數截取漢字長度

編輯:關於PHP編程

復制代碼 代碼如下:
function msubstr($str,$start,$len) {
$strlen=$start+$len;
for($i=0;$i<$strlen;$i++) {
if(ord(substr($str,$i,1))>0xa0) {
$tmpstr.=substr($str,$i,2);
$i++;
} else
$tmpstr.=substr($str,$i,1);
}
return $tmpstr;

}

復制代碼 代碼如下:
<?PHP
$str="這個字符好長呀,^_^";
$Short_Str=showShort($str,4);//截取前面4個漢字,結果為:這個字符...
Echo "$Short_Str";
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;
}
Function showShort($str,$len)
{
$tempstr = csubstr($str,0,$len);
if ($str<>$tempstr)
$tempstr .= "..."; //要以什麼結尾,修改這裡就可以.

return $tempstr;
}

再來看看唠叨的方法 怎麼樣,簡潔吧?
復制代碼 代碼如下:
$len = 19;
$text = "怎麼將新聞的很長的標題只顯示前面一些字,後面用.....來代替?";
echo strlen($text)<=$len ? $text : (substr($text,0,$len).chr(0)."....");

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