首頁 >php教程 >php手册 >Utf-8、gb2312都支持的汉字截取

Utf-8、gb2312都支持的汉字截取

WBOY
WBOY原創
2016-06-21 09:05:571041瀏覽

汉字


  • /***************************************************************************
    * cut_string.php
    * ------------------------------
    * Date : Jul 16, 2005
    * Copyright : none
    * Mail :
    *
    * 作用:截取中文字符.
    *
    *
    ***************************************************************************/

    function cut_str($string, $sublen, $start = 0, $code = 'UTF-8')
    {
    if($code == 'UTF-8')
    {
    $pa = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|\xe0[\xa0-\xbf][\x80-\xbf]|[\xe1-\xef][\x80-\xbf][\x80-\xbf]|\xf0[\x90-\xbf][\x80-\xbf][\x80-\xbf]|[\xf1-\xf7][\x80-\xbf][\x80-\xbf][\x80-\xbf]/";
    preg_match_all($pa, $string, $t_string);

    if(count($t_string[0]) - $start > $sublen) return join('', array_slice($t_string[0], $start, $sublen))."...";
    return join('', array_slice($t_string[0], $start, $sublen));
    }
    else
    {
    $start = $start*2;
    $sublen = $sublen*2;
    $strlen = strlen($string);
    $tmpstr = '';
    for($i=0; $i{
    if($i>=$start && $i{
    if(ord(substr($string, $i, 1))>129) $tmpstr.= substr($string, $i, 2);
    else $tmpstr.= substr($string, $i, 1);
    }
    if(ord(substr($string, $i, 1))>129) $i++;
    }
    if(strlen($tmpstr)return $tmpstr;
    }
    }

    ?>


    cut_str(字符串, 截取长度, 开始长度, 编码);
    编码默认为 utf-8
    开始长度默认为 0


  • 陳述:
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn