码迷,mamicode.com
首页 > Web开发 > 详细

php---截取描述方法

时间:2018-10-24 01:11:06      阅读:192      评论:0      收藏:0      [点我收藏+]

标签:str   class   www.   UNC   nbsp   http   array   reg   span   

参考:

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---截取描述方法

标签:str   class   www.   UNC   nbsp   http   array   reg   span   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!