欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

PHP截取中英混合的字符串

程序员文章站 2022-05-25 18:00:38
...
今天在遇到了一个中英字符串截取的问题,在gbk里中文里每个字占两字节,如果全是中文的话,用substr()函数就可以实现了,但中英都有的话就麻烦了,在以前收藏的代码里找到了一个不错的函数,很好的实现了截取的功能:
function get_word($string, $length, $dot = '..',$charset='gbk') {
    
    if(strlen($string) '), array('','','&', '"', ''), $string);
    $strcut = '';
    if(strtolower($charset) == 'utf-8') {
        $n = $tn = $noc = 0;
        while($n = $length) {
                break;
            }
        }
        if($noc > $length) {
            $n -= $tn;
        }
        $strcut = substr($string, 0, $n);
    } else {
        for($i = 0; $i  127 ? $string[$i].$string[++$i] : $string[$i];
        }
    }
    
    return $strcut.$dot;
}
$str = "欢迎 visit 简明 bkjia";
$str_result = get_word($str, 12);
echo $str_result;

测试运行结果:

欢迎 visit..
相关标签: PHP 字符串截取