zoukankan      html  css  js  c++  java
  • php截取字符串的实例代码(支持utf-8)

    分享下php中截取字符串的例子,支持utf-8格式。

    1,截取字符串

    <?php 
    $string="2006年4月我又长大了一岁!"; 
    echo substr($string,1)."..."; 
    //截取字符串 
    function SubstrGB($in,$num) 
    { 
    $pos=0; 
    $out=""; 
    while($pos<strlen($in)) 
    { 
    $c=substr($in,$pos,1); 
    if($c=="
    ") 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; 
    } //by www.jbxue.com
    echo SubstrGB($string,8) ; 
    ?> 

    2,截取中文字符

    <?php 
    /** 
    * cut_string.php 
    * ------------------------------ 
    * 截取中文字符. 
    * edit by www.jbxue.com 
    */ 
    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 "<br>".cut_str($string,8,$start=0,$code='sdf') ; 
    ?>
  • 相关阅读:
    Arduino开发版学习计划--直流电机
    Arduino开发版学习计划--蜂鸣器
    社交网络编程API之iOS系统自带分享
    iOS解析XML实现省市区选择
    Frameworks(不定时更新)
    NSLayoutConstraint
    Categories  VS Extensions (分类 vs 扩展)
    strong vs copy
    折半查找
    Block
  • 原文地址:https://www.cnblogs.com/study100/p/3207864.html
Copyright © 2011-2022 走看看