blue 2011-10-27 16:37:12 3589次浏览 5条回复 0 0 0

RT. 还有就是中英文字符数目不一样,该如何解决?

  • 回复于 2011-10-27 16:39 举报

    怎么木有人回答呢!~~高手在哪,高手在哪?

  • 回复于 2011-10-27 18:01 举报
    /**
         * cut the string with utf8 or gbk
         *
         * @author davidhhuan
         * @param string $string: the string you want to handle with
         * @param int $start
         * @param int $end
         * @param int $length: how long of the string you want
         * @param string $append: The end of the output string
         * @return string
    */
    public function substr($string, $start = 0, $length = 0, $append = '...')
    {
        $string = str_replace(array('&amp;', '&quot;', '&lt;', '&gt;'), array('&', '"', '<', '>'), $string); 	
        $stringLast = "";
        if ($start < 0 || $length < 0 || strlen($string) <= $length)
        {
            $stringLast = $string;
        }
        elseif (file_exists('mb_substr'))
        {
            $stringLast = mb_substr($string, $start, $length);
        }
        else
        {
            $i = 0;
            while ($i < $length)
            {
                $stringTMP = substr($string, $i, 1);
                if ( ord($stringTMP) >=224 )
                {
                    $stringTMP = substr($string, $i, 3);
                    $i = $i + 3;
                }
                elseif( ord($stringTMP) >=192 )
                {
                    $stringTMP = substr($string, $i, 2);
                    $i = $i + 2;
                }
                else
                {
                    $i = $i + 1;
                }
                $stringLast[] = $stringTMP;
            }
            $stringLast = implode("",$stringLast);
                
    }
            
    $stringLast = str_replace(array('&', '"', '<', '>'), array('&amp;', '&quot;', '&lt;', '&gt;'), $stringLast);
    
    if(!empty($append))
    {
        $stringLast .= $append;
    }
            
    return $stringLast;
    }
    
  • 回复于 2011-10-28 17:41 举报

    我这儿有从kohana3移植过来的text类!要的Q我!

  • 回复于 2011-11-01 16:33 举报

    发我邮箱我研究研究、万分感谢.
    zy396905788@163.com

  • 回复于 2011-11-02 12:48 举报

    论坛里面不是有个截取字符的方法吗?论坛里面也可以看看的。

您需要登录后才可以回复。登录 | 立即注册