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..