Home >Backend Development >PHP Tutorial >String interception code in phpthink - supports Chinese and other encodings_PHP tutorial

String interception code in phpthink - supports Chinese and other encodings_PHP tutorial

WBOY
WBOYOriginal
2016-07-13 16:54:561106browse

A good interception function that supports Chinese and other encodings without garbled characters. Friends in need can refer to it.

 代码如下 复制代码
/**
+----------------------------------------------------------
* 字符串截取,支持中文和其它编码
+----------------------------------------------------------
* @param string $str 需要转换的字符串
* @param string $start 开始位置
* @param string $length 截取长度
* @param string $charset 编码格式
* @param string $suffix 截断显示字符
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
function msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true) {
    if(function_exists("mb_substr"))
    $slice = mb_substr($str, $start, $length, $charset);
    elseif(function_exists('iconv_substr')) {
        $slice = iconv_substr($str,$start,$length,$charset);
    }else{
        $re['utf-8']   = "/[x01-x7f]|[xc2-xdf][x80-xbf]|[xe0-xef][x80-xbf]{2}|[xf0-xff][x80-xbf]{3}/";
        $re['gb2312'] = "/[x01-x7f]|[xb0-xf7][xa0-xfe]/";
        $re['gbk']      = "/[x01-x7f]|[x81-xfe][x40-xfe]/";
        $re['big5']      = "/[x01-x7f]|[x81-xfe]([x40-x7e]|xa1-xfe])/";
        preg_match_all($re[$charset], $str, $match);
        $slice = join("",array_slice($match[0], $start, $length));
    }
    if($suffix && $str != $slice) return $slice."...";
    return $slice;
}
/**
+----------------------------------------------------------
* 字符串截取,支持中文和其它编码
+----------------------------------------------------------
* @param string $str 需要转换的字符串
* @param string $length 截取长度
* @param string $charset 编码格式
* @param string $suffix 截断显示字符
+----------------------------------------------------------
* @return string
+----------------------------------------------------------
*/
function mStr($str, $length, $charset="utf-8", $suffix=true){
    return msubstr($str, 0, $length, $charset, $suffix);
}

www.bkjia.comtruehttp: //www.bkjia.com/PHPjc/631701.htmlTechArticleA good interception function that supports Chinese and other encodings without garbled characters. Friends in need can refer to it one time. The code is as follows Copy code /** +--------------------------...
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn