澳门新葡萄京娱乐场php自定义函数截取汉字长度

复制代码 代码如下:
function msubstr($str,$start,$len) {
$strlen=$start+$len;
for($i=0;$iif(ord(substr($str,$i,1))>0xa0) {
$tmpstr.=substr($str,$i,2);
$i++;
} else
$tmpstr.=substr($str,$i,1);
澳门新葡萄京娱乐场,}
return $tmpstr;

functioncnSubStr($string,$sublen){if($sublen=strlen($string)){return$string;}$s=;for($i=0;$i$sublen;$i++){if(ord($string{$i})127){$s.=$string{$i}.$string{++$i};continue;}else{$s.=$string{$i};continue;}}return$s;}

}

?PHP$str=这个字^_^符好长呀,^_^;$Short_Str=showShort($str,5卡塔尔(قطر‎;//截取前边4个汉字,结果为:那些字符…Echo
$Short_Str;Function csubstr($str,$start,$len卡塔尔国 { $strlen=strlen($str卡塔尔;
$clen=0; for($i=0;$i$strlen;$i++,$clen++卡塔尔 { if ($clen=$start+$len)break; if(ord(substr($str,$i,1)卡塔尔国0xa0卡塔尔 //ord取首字符的ascii码{ if
($clen=$start卡塔尔 $tmpstr.=substr($str,$i,2卡塔尔国; $i++; } else{ if
($clen=$start卡塔尔 $tmpstr.=substr($str,$i,1State of Qatar; } } return $tmpstr; }
Function showShort($str,$len卡塔尔(قطر‎ { $tempstr = csubstr($str,0,$lenState of Qatar; if
($str$tempstrState of Qatar $tempstr .= …; return $tempstr; }?

复制代码 代码如下:

$str=”那几个字符好长呀,^_^”;
$Short_Str=showShort($str,4卡塔尔;//截取前边4个汉字,结果为:这一个字符…
Echo “$Short_Str”;
Function csubstr($str,$start,$len)
{
$strlen=strlen($str);
$clen=0;
for($i=0;$i{
if ($clen>=$start+$len)
break;
if(ord(substr($str,$i,1))>0xa0)
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,2);
$i++;
}
else
{
if ($clen>=$start)
$tmpstr.=substr($str,$i,1);
}
}

return $tmpstr;
}
Function showShort($str,$len)
{
$tempstr = csubstr($str,0,$len);
if ($str<>$tempstr)
$tempstr .= “…”; //要以什么最后,改过这里就能够.

return $tempstr;
}

再来看看唠叨的措施 怎么着,简洁吧?
复制代码 代码如下:
$len = 19;
$text = “怎么将新闻的很短的标题只展现后面一些字,前面用…..来替代?”;
echo strlen($text)<=$len ? $text :
(substr($text,0,$len).chr(0).”….”);

发表评论

电子邮件地址不会被公开。 必填项已用*标注