PHP字符串处理功能整理
张成
2014/12
function getword($str,$charset='utf-8') { $n = 0; $p = 0; $c = ''; $len = strlen($str); $arr= array(); if(strtolower($charset) == 'utf-8') { for($i = 0; $i < $len; $i++) { $c = ord($str{$i}); if($c > 252) { $p = 5; } elseif($c > 248) { $p = 4; } elseif($c > 240) { $p = 3; } elseif($c > 224) { $p = 2; } elseif($c > 192) { $p = 1; } else { $p = 0; } $arr[] = substr($str,$i,$p+1); $i += $p; $n++; } } else { // gbk计算方式 2个字符算1个长度 for($i = 0; $i < $len; $i++) { $c = ord($str{$i}); if($c > 127) { $p = 1; } else { $p = 0; } $arr[] = substr($str,$i,$p+1); $i += $p; $n++; } } $result = array('length'=>$n,'word'=>$arr); return $result; }