讓CodeIgniter的ellipsize()支持中文截斷的方法
CodeIgniter的Text Helper有一個ellipsize()方法,用來過濾HTML標簽并且截斷文字十分好用。但是它對中文支持的特別不好,在中文中使用就有亂碼出現(xiàn)。
下面有網(wǎng)友將function ellipsize()進行了修改,使得它支持中文:
在CI 2.1.3版本中,修改ci_2.1.3\system\helpers\text_helper.php 文件
$str, $max_length, $position = 1, $ellipsis = '…')
{
// Strip tags
$str = trim(strip_tags($str));
// Is the string long enough to ellipsize?
if (mb_strlen($str, $codepage) <= $max_length)
{
return $str;
}
$beg = mb_substr($str, 0, floor($max_length * $position), $codepage);
$position = ($position > 1) ? 1 : $position;
if ($position === 1)
{
$end = mb_substr($str, 0,
-($max_length - mb_strlen($beg, $codepage)), $codepage);
}
else
{
$end = mb_substr($str,
-($max_length - mb_strlen($beg, $codepage)), $max_length, $codepage);
}
return $beg.$ellipsis.$end;
}
這段代碼主要將substr和strlen替換成了mb_substr和mb_strlen,這樣就能很好的支持中文截斷了。
相關(guān)文章
PHP 中提示undefined index如何解決(多種方法)
這篇文章主要介紹了PHP 中提示undefined index如何解決(多種方法)的相關(guān)資料,需要的朋友可以參考下2016-03-03
php設(shè)計模式之中介者模式分析【星際爭霸游戲案例】
這篇文章主要介紹了php設(shè)計模式之中介者模式,結(jié)合具體案例形式分析了星際爭霸游戲中使用PHP中介者模式的相關(guān)操作技巧,需要的朋友可以參考下2020-03-03
調(diào)用WordPress函數(shù)統(tǒng)計文章訪問量及PHP原生計數(shù)器的實現(xiàn)
這篇文章主要介紹了調(diào)用WordPress函數(shù)統(tǒng)計文章訪問量及PHP原生計數(shù)器的實現(xiàn),文中作者也提到了WordPress中的兩款插件不過出于性能考慮并不推薦插件方式的實現(xiàn),需要的朋友可以參考下2016-03-03
php微信公眾號開發(fā)(2)百度BAE搭建和數(shù)據(jù)庫使用
這篇文章主要介紹了php微信公眾號開發(fā)第二課,百度BAE搭建和數(shù)據(jù)庫使用,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12
讓codeigniter與swfupload整合的最佳解決方案
網(wǎng)上有很多關(guān)于ci與swfupload的帖子,不過,并不是很完整,所以,這里綜合各家優(yōu)點,經(jīng)過自己實際經(jīng)驗,做了下整理,需要的朋友可以參考下2014-06-06
PHP實現(xiàn)搜索地理位置及計算兩點地理位置間距離的實例
這篇文章主要介紹了PHP實現(xiàn)搜索地理位置及計算兩點地理位置間距離的實例,地理位置搜尋的例子中使用到了MongoDB數(shù)據(jù)庫,需要的朋友可以參考下2016-01-01

