汉字截取的方法

2006年3月1日 | 分类: WebDesign | 标签: ,

转载时请标明文章原始出处和作者信息, 作者: lostsnow.
http://www.lsproc.com/blog/intercept-chinese-char/

原来有人提出了一个方法:

$len = 19;
$text = "here is the text!";
echo strlen($text)< =$len ? $text : (substr($text,0,$len).chr(0)."....");

在 SaBlog 的程序里发现了另一种方法:

function csubstr ($text, $limit) {
    $s = ';
    for($i=0;$i< $limit-3;$i++) {
        $s .= ord($text[$i])>127 ? $text[$i].$text[++$i] : $text[$i];
    }
    return $s;
}

以上仅适用于 gb2312 编码,如果是UTF-8 的话需要把第4行改为

$s .= ord($text[$i])>127 ? $text[$i].$text[++$i].$text[++$i] : $text[$i];

UTF-8 中的汉字是 3 个字节。

-- EOF --

  1. 2006年3月9日12:19

    这个我没弄明白是怎么回事?

  2. 2006年3月9日15:02

    一般是用在首页的文章、新闻、评论等的调用,需要显示部分内容的时候,多余的内容用......代替