php---截取描述方法

Posted 帅到要去报警

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php---截取描述方法相关的知识,希望对你有一定的参考价值。

参考:

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---截取描述方法的主要内容,如果未能解决你的问题,请参考以下文章

如何傻瓜式截取视频某一片段?

php---截取描述方法

PHP截取发动短信内容的方法

php提取字符串中网站url地址的方法

php中截取字符串应当注意啥

sql数据库截取字符串函数