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

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

WBOY
풀어 주다: 2016-06-21 09:05:57
원래의
1027명이 탐색했습니다.

汉字


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


  • 관련 라벨:
    원천:php.cn
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 추천
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿