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

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-21 09:05:57
Original
1051 people have browsed it

汉字


  • /***************************************************************************
    * 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


  • Related labels:
    source:php.cn
    Statement of this Website
    The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
    Popular Recommendations
    Popular Tutorials
    More>
    Latest Downloads
    More>
    Web Effects
    Website Source Code
    Website Materials
    Front End Template