首页 > Web开发 > 详细

php---截取描述方法

时间:2018-10-24 00:09:05      阅读:110      评论:0      收藏:0      [点我收藏+]

参考:

https://www.cnblogs.com/xsphehe/p/5682004.html

示例:

/**
 *  参数说明
 *  $string  欲截取的字符串
 *  $sublen  截取的长度
 *  $start   从第几个字节截取,默认为0
 *  $code    字符编码,默认UTF-8
 */

// $str="哈哈,帅哥在此!"; 
// echo cut_str($str, 30, 0, ‘gb2312‘);  // gb2312字符编码
// echo cut_str($str,30,0)  //utf-8字符编码
// 参考:https://www.cnblogs.com/xsphehe/p/5682004.html
function cut_str($string, $sublen=30, $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;
    }
}

 

php---截取描述方法

原文:https://www.cnblogs.com/e0yu/p/9840429.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!