-
- /**
- * substr の改善
- * bbs.it-home.org を編集
- */
- function getstr($string, $length, $encoding = 'utf-8') {
- $string = trim($string);
- if($length && strlen($string) > $length) {
- //截断字符
- $wordscut = '';
- if(strto lower($encoding) == 'utf-8') {
- //utf8编码
- $n = 0;
- $tn = 0;
- $noc = 0;
- while ($n < strlen($string)) {
- $t = ord($string[$n]);
- if($t == 9 || $t == 10 || (32 $tn = 1;
- $n++;
- $noc++;
- } elseif(194 $tn = 2;
- $n += 2;
- $noc += 2;
- } elseif(224 $tn = 3;
- $n += 3;
- $noc += 2;
- } elseif(240 $tn = 4;
- $n += 4;
- $noc += 2;
- } elseif(248 $tn = 5;
- $n += 5;
- $noc += 2;
- } elseif($t == 252 || $t == 253) {
- $tn = 6;
- $n += 6;
- $noc += 2;
- } else {
- $n++;
- }
- if ($noc >= $length) {
- ブレーク;
- }
- }
- if ($noc > $length) {
- $n -= $tn;
- }
- $wordscut = substr($string, 0, $n);
- } else {
- for($i = 0; $i if(ord($string[$i]) > 127) {
- $wordscut .= $string[ $i].$string[$i + 1];
- $i++;
- } else {
- $wordscut .= $string[$i];
- }
- }
- }
- $string = $wordscut;
- }
- return Trim($string);
- }
- ?>
复制發
|