php控制字数方法,php处理字数过多的方法
php文件
// 應(yīng)用公共文件
function cut_str($sourcestr,$cutlength)
{
$returnstr='';
$i=0;
$n=0;
$str_length=strlen($sourcestr);//字符串的字節(jié)數(shù)
while (($n ? ?{
$temp_str=substr($sourcestr,$i,1);
$ascnum=Ord($temp_str);//得到字符串中第$i位字符的ascii碼
if ($ascnum>=224) ? ?//如果ASCII位高與224,
{
$returnstr=$returnstr.substr($sourcestr,$i,3); //根據(jù)UTF-8編碼規(guī)范,將3個(gè)連續(xù)的字符計(jì)為單個(gè)字符
$i=$i+3; ? ? ? ? ? ?//實(shí)際Byte計(jì)為3
$n++; ? ? ? ? ? ?//字串長(zhǎng)度計(jì)1
}
elseif ($ascnum>=192) //如果ASCII位高與192,
{
$returnstr=$returnstr.substr($sourcestr,$i,2); //根據(jù)UTF-8編碼規(guī)范,將2個(gè)連續(xù)的字符計(jì)為單個(gè)字符
$i=$i+2; ? ? ? ? ? ?//實(shí)際Byte計(jì)為2
$n++; ? ? ? ? ? ?//字串長(zhǎng)度計(jì)1
}
elseif ($ascnum>=65 && $ascnum<=90) //如果是大寫字母,
{
$returnstr=$returnstr.substr($sourcestr,$i,1);
$i=$i+1; ? ? ? ? ? ?//實(shí)際的Byte數(shù)仍計(jì)1個(gè)
$n++; ? ? ? ? ? ?//但考慮整體美觀,大寫字母計(jì)成一個(gè)高位字符
}
else ? ? ? ? ? ? ? ?//其他情況下,包括小寫字母和半角標(biāo)點(diǎn)符號(hào),
{
$returnstr=$returnstr.substr($sourcestr,$i,1);
$i=$i+1; ? ? ? ? ? ?//實(shí)際的Byte數(shù)計(jì)1個(gè)
$n=$n+0.5; ? ? ? ?//小寫字母和半角標(biāo)點(diǎn)等與半個(gè)高位字符寬...
}
}
if ($str_length>$i){
$returnstr = $returnstr . "...";//超過(guò)長(zhǎng)度時(shí)在尾處加上省略號(hào)
}
return $returnstr;
}
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的php控制字数方法,php处理字数过多的方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php语言中字符,PHP开发语言中字符窜
- 下一篇: php strchr和strrchr,s