首页 » 未分类 » 阅读文章
php自由截取中英文字符串函数
本PHP程序在utf-8下测试是可行的,GBK就没有测试
function jiequ($Str, $Length) {//$Str为截取字符串,$Length为需要截取的长度
global $s;
$i = 0;
$l = 0;
$ll = strlen($Str);
$s = $Str;
$f = true;
while ($i <= $ll) {
if (ord($Str{$i}) < 0x80) {
$l++; $i++;
} else if (ord($Str{$i}) < 0xe0) {
$l++; $i += 2;
} else if (ord($Str{$i}) < 0xf0) {
$l += 2; $i += 3;
} else if (ord($Str{$i}) < 0xf8) {
$l += 1; $i += 4;
} else if (ord($Str{$i}) < 0xfc) {
$l += 1; $i += 5;
} else if (ord($Str{$i}) < 0xfe) {
$l += 1; $i += 6;
}
if (($l >= $Length – 1) && $f) {
$start=mt_rand(0,floor($ll/2));//随机截取起始位置,这里可以自由发挥。
$s = substr($Str, $start, $i);
$f = false;
}
/*
if (($l > $Length) && ($i < $ll)) {
$s = $s . ‘…’; break; //如果进行了截取,字符串末尾加省略符号”…”
}*/
}
return $s;
}
评论 共0条 (RSS 2.0) 发表评论