php自定義函數(shù)截取漢字長度
更新時間:2014年05月15日 09:41:17 作者:
php中截取漢字長度的方法有很多,本例通過自定義函數(shù)來完成這個需求,感興趣的朋友可以參考下
復制代碼 代碼如下:
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)."....");
相關文章
PHP中的session永不過期的解決思路及實現(xiàn)方法分享
讓PHP的session永不過期,你可能沒有遇到這么郁悶的問題,但是我遇到過,很郁悶。2011-04-04如何基于PHP實現(xiàn)微信小程序pdf文件的預覽功能
前段時間文庫類微信小程序開發(fā)中遇到個問題,就是要在小程序中預覽pdf文件,下面這篇文章主要給大家介紹了關于如何基于PHP實現(xiàn)微信小程序pdf文件的預覽功能,需要的朋友可以參考下2022-05-05ajax php 實現(xiàn)寫入數(shù)據(jù)庫
看到同學背詞用的生詞本,覺得很不錯.正好自己也在看書,為了有一個好的效果,于是想做一個類似生詞本的,可以存知識點,和查看知識點的.2009-09-09php中$美元符號與Zen Coding沖突問題解決方法分享
Zen Coding是使用仿CSS選擇器的語法來快速開發(fā)HTML和CSS ——由Sergey Chikuyonok開發(fā)。 Zen Coding由兩個核心組件組成:一個縮寫擴展器(縮寫為像CSS一樣的選擇器)和上下文無關的HTML標簽對匹配器。2014-05-05