既然选择了远方,便只顾风雨兼程~~~

解决中英文字符串长度问题函数 作者:标哥

上一篇 / 下一篇  2007-01-06 18:11:20


function strSplit($s$len) {
    
$end '…';
    
$result '';
    
$strLen strlen($s);
    if (
$strLen <= $len) {
        return 
$s;
    }
    
$len -= 2;
    for (
$i=0$i<$len && $i<$strLen$i++) {
        
$c $s[$i];
        if (
ord($c) < 0x80) {
            
$result .= $c;
        } elseif (
$i+1<$len) {
            
$result .= $s[$i++] . $s[$i];
        }
    }
    return (
$i $strLen) ? ($result $end) : $result;
}

echo 
strSplit('1234567'10), '<br />';
echo 
strSplit('1234567890'10), '<br />';
echo 
strSplit('1234中文567890abcdefghijkl'10), '<br />';
echo 
strSplit('全部都是中文'10), '<br />';
echo 
strSplit('全a部b都c是d中e文'10), '<br />';

输出:
1234567
1234567890
1234中文…
全部都是…
全a部b都…

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar