色尼玛亚洲综合影院,亚洲3atv精品一区二区三区,麻豆freexxxx性91精品,欧美在线91

讓CodeIgniter的ellipsize()支持中文截斷的方法

CodeIgniter的Text Helper有一個ellipsize()方法,用來過濾HTML標(biāo)簽并且截斷文字十分好用。但是它對中文支持的特別不好,在中文中使用就有亂碼出現(xiàn)。

下面有網(wǎng)友將function ellipsize()進行了修改,使得它支持中文:

在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,這樣就能很好的支持中文截斷了。

php技術(shù)讓CodeIgniter的ellipsize()支持中文截斷的方法,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 叙永县| 博白县| 大悟县| 安吉县| 巴塘县| 扬州市| 屏东市| 宜川县| 固始县| 霍城县| 桃园县| 高要市| 马公市| 建平县| 乌兰浩特市| 苏尼特左旗| 海兴县| 浠水县| 东方市| 滦南县| 丰宁| 嵊泗县| 七台河市| 武汉市| 布尔津县| 宜良县| 楚雄市| 金山区| 竹溪县| 长兴县| 新密市| 阿坝| 杨浦区| 天柱县| 潜江市| 南康市| 卢氏县| 绵阳市| 静安区| 广德县| 思南县|