• 技术文章 >后端开发 >php教程

    php中截取字符串支持utf-8_php技巧

    2016-05-17 09:41:26原创362
    截取字符串
    $string="2006年4月我又长大了一岁!";
    echo substr($string,1)."...";
    //截取字符串
    function SubstrGB($in,$num)
    {
    $pos=0;
    $out="";
    while($pos {
    $c=substr($in,$pos,1);
    if($c=="\n") break;
    if(ord($c)>128)
    {
    $out.=$c;
    $pos++;
    $c=substr($in,$pos,1);
    $out.=$c;
    }
    else
    {
    $out.=$c;
    }
    $pos++;
    if($pos>=$num) break;
    }
    return $out;
    }
    echo SubstrGB($string,8) ;
    ?>
    /***************************************************************************
    * 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<$strlen; $i++)
    {
    if($i>=$start && $i<($start+$sublen))
    {
    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)<$strlen ) $tmpstr.= "...";
    return $tmpstr;
    }
    }
    echo "
    ".cut_str($string,8,$start=0,$code='sdf') ;
    ?>
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:PHP音乐采集(部分代码)_php技巧 下一篇:再次研究下cache_lite_php基础
    PHP编程就业班

    相关文章推荐

    • 面试官:列举几种PHP拓展的实现手段及其性能比较?• PHP中的string类型使用说明_PHP• php 运行效率总结(提示程序速度)_PHP• 编写PHP的安全策略_PHP• GD输出汉字的函数的分析_PHP

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网