讓CodeIgniter的ellipsize()支持中文截?cái)嗟姆椒?/h1>
更新時(shí)間:2014年06月12日 17:12:37 投稿:shichen2014
CodeIgniter的Text Helper有一個(gè)ellipsize()方法,用來過濾HTML標(biāo)簽并且截?cái)辔淖质趾糜?。但是它?duì)中文支持的特別不好,在中文中使用就有亂碼出現(xiàn)。這篇文章主要介紹了讓CodeIgniter的ellipsize()支持中文截?cái)嗟姆椒?需要的朋友可以參考下
CodeIgniter的Text Helper有一個(gè)ellipsize()方法,用來過濾HTML標(biāo)簽并且截?cái)辔淖质趾糜谩5撬鼘?duì)中文支持的特別不好,在中文中使用就有亂碼出現(xiàn)。
下面有網(wǎng)友將function ellipsize()進(jìn)行了修改,使得它支持中文:
在CI 2.1.3版本中,修改ci_2.1.3\system\helpers\text_helper.php 文件
復(fù)制代碼 代碼如下:function ellipsize($codepage = 'UTF-8',
$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,這樣就能很好的支持中文截?cái)嗔恕?/P>
您可能感興趣的文章:- CodeIgniter輸出中文亂碼的兩種解決辦法
- CodeIgniter錯(cuò)誤mysql_connect(): No such file or directory解決方法
- Codeigniter中mkdir創(chuàng)建目錄遇到權(quán)限問題和解決方法
- codeigniter上傳圖片不能正確識(shí)別圖片類型問題解決方法
- Codeigniter框架的更新事務(wù)(transaction)BUG及解決方法
- codeigniter框架The URI you submitted has disallowed characters錯(cuò)誤解決方法
- Codeigniter購物車類不能添加中文的解決方法
相關(guān)文章
-
PHP 中提示undefined index如何解決(多種方法)
這篇文章主要介紹了PHP 中提示undefined index如何解決(多種方法)的相關(guān)資料,需要的朋友可以參考下 2016-03-03
-
php設(shè)計(jì)模式之中介者模式分析【星際爭(zhēng)霸游戲案例】
這篇文章主要介紹了php設(shè)計(jì)模式之中介者模式,結(jié)合具體案例形式分析了星際爭(zhēng)霸游戲中使用PHP中介者模式的相關(guān)操作技巧,需要的朋友可以參考下 2020-03-03
-
調(diào)用WordPress函數(shù)統(tǒng)計(jì)文章訪問量及PHP原生計(jì)數(shù)器的實(shí)現(xiàn)
這篇文章主要介紹了調(diào)用WordPress函數(shù)統(tǒng)計(jì)文章訪問量及PHP原生計(jì)數(shù)器的實(shí)現(xiàn),文中作者也提到了WordPress中的兩款插件不過出于性能考慮并不推薦插件方式的實(shí)現(xiàn),需要的朋友可以參考下 2016-03-03
-
php微信公眾號(hào)開發(fā)(2)百度BAE搭建和數(shù)據(jù)庫使用
這篇文章主要介紹了php微信公眾號(hào)開發(fā)第二課,百度BAE搭建和數(shù)據(jù)庫使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下 2016-12-12
-
讓codeigniter與swfupload整合的最佳解決方案
網(wǎng)上有很多關(guān)于ci與swfupload的帖子,不過,并不是很完整,所以,這里綜合各家優(yōu)點(diǎn),經(jīng)過自己實(shí)際經(jīng)驗(yàn),做了下整理,需要的朋友可以參考下 2014-06-06
-
PHP實(shí)現(xiàn)搜索地理位置及計(jì)算兩點(diǎn)地理位置間距離的實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)搜索地理位置及計(jì)算兩點(diǎn)地理位置間距離的實(shí)例,地理位置搜尋的例子中使用到了MongoDB數(shù)據(jù)庫,需要的朋友可以參考下 2016-01-01
最新評(píng)論
CodeIgniter的Text Helper有一個(gè)ellipsize()方法,用來過濾HTML標(biāo)簽并且截?cái)辔淖质趾糜谩5撬鼘?duì)中文支持的特別不好,在中文中使用就有亂碼出現(xiàn)。
下面有網(wǎng)友將function ellipsize()進(jìn)行了修改,使得它支持中文:
在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,這樣就能很好的支持中文截?cái)嗔恕?/P>
- CodeIgniter輸出中文亂碼的兩種解決辦法
- CodeIgniter錯(cuò)誤mysql_connect(): No such file or directory解決方法
- Codeigniter中mkdir創(chuàng)建目錄遇到權(quán)限問題和解決方法
- codeigniter上傳圖片不能正確識(shí)別圖片類型問題解決方法
- Codeigniter框架的更新事務(wù)(transaction)BUG及解決方法
- codeigniter框架The URI you submitted has disallowed characters錯(cuò)誤解決方法
- Codeigniter購物車類不能添加中文的解決方法
相關(guān)文章
PHP 中提示undefined index如何解決(多種方法)
這篇文章主要介紹了PHP 中提示undefined index如何解決(多種方法)的相關(guān)資料,需要的朋友可以參考下2016-03-03
php設(shè)計(jì)模式之中介者模式分析【星際爭(zhēng)霸游戲案例】
這篇文章主要介紹了php設(shè)計(jì)模式之中介者模式,結(jié)合具體案例形式分析了星際爭(zhēng)霸游戲中使用PHP中介者模式的相關(guān)操作技巧,需要的朋友可以參考下2020-03-03
調(diào)用WordPress函數(shù)統(tǒng)計(jì)文章訪問量及PHP原生計(jì)數(shù)器的實(shí)現(xiàn)
這篇文章主要介紹了調(diào)用WordPress函數(shù)統(tǒng)計(jì)文章訪問量及PHP原生計(jì)數(shù)器的實(shí)現(xiàn),文中作者也提到了WordPress中的兩款插件不過出于性能考慮并不推薦插件方式的實(shí)現(xiàn),需要的朋友可以參考下2016-03-03
php微信公眾號(hào)開發(fā)(2)百度BAE搭建和數(shù)據(jù)庫使用
這篇文章主要介紹了php微信公眾號(hào)開發(fā)第二課,百度BAE搭建和數(shù)據(jù)庫使用,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-12-12
讓codeigniter與swfupload整合的最佳解決方案
網(wǎng)上有很多關(guān)于ci與swfupload的帖子,不過,并不是很完整,所以,這里綜合各家優(yōu)點(diǎn),經(jīng)過自己實(shí)際經(jīng)驗(yàn),做了下整理,需要的朋友可以參考下2014-06-06
PHP實(shí)現(xiàn)搜索地理位置及計(jì)算兩點(diǎn)地理位置間距離的實(shí)例
這篇文章主要介紹了PHP實(shí)現(xiàn)搜索地理位置及計(jì)算兩點(diǎn)地理位置間距離的實(shí)例,地理位置搜尋的例子中使用到了MongoDB數(shù)據(jù)庫,需要的朋友可以參考下2016-01-01

