特定の長さの文字列をインターセプトするための php チュートリアル (この関数は gb2312 での使用に有効です
)関数 ssubstr($string, $length, $dot = ' ...') {
グローバル $charset;if(strlen($string) $string を返します;
}
$string = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $string) ;
$strcut = '';
if(strto lower($charset) == 'utf-8') {
$n = $tn = $noc = 0;
while($n < strlen($string)) {
$t = ord($string[$n]);
If($t == 9 || $t == 10 || (32 $tn = 1; $n++;
elseif (194 $tn = 2; $n += 2;
elseif (224 $tn = 3; $n += 3;
elseif (240 $tn = 4; $n += 2;
elseif (248 $tn = 5; $n += 5;
elseif ($t == 252 || $t == 253) {
$tn = 6; $n += 2;
} その他 {
$n++;
}
If($noc >= $length)
{
休憩
}
}
If($noc > $length)
{
$n -= $tn;
}
$strcut = substr($string, 0, $n);
} その他 {
for($i = 0; $i {
$strcut .= ord($string[$i]) > 127 ? $string[$i].$string[++$i] : $string[$i];
}
}
$strcut = str_replace(array('&', '"', '<', '>'), array('&', '"', '<', '>'), $strcut) ;
$strcut.$dot を返します;
}
特定の長さの文字列をインターセプトします (この関数は gb2312 で有効です)
関数 wordcut($string, $length,$sss=0) {if(strlen($string) > $length) {
もし($sss){
$length=$length - 3;
$addstr=@# ...@#;}
for($i = 0; $i if(ord($string[$i]) > 127) {
$wordscut .= $string[$i].$string[$i + 1] //
; $i++;
} その他 {
$wordscut .= $string[$i];
}
}
$wordscut.$addstr;
を返します }
$string を返します;
}
?>