PHP限制新闻题目的显示字数,字数过多显示省略号方法1:
_________________________________________________________________
functionsubstrgb($in,$num){
$pos=0;
$out="";
while($c=substr($in,$pos,1)){
if($c=="\n")break;
if(ord($c)>128){
$out.=$c;
$pos++;
$c=substr($in,$pos,1);
$out.=$c;
}else{
$out.=$c;
}
$pos++;
if($pos>=$num)break;
}
if($out!=$in)$out=$out."...";
return$out;
PHP限制新闻题目的显示字数,字数过多显示省略号方法2:
_________________________________________________________________
functioncutstr($str,$cutleng)
{
$str=$str;//要截取的字符串
$cutleng=$cutleng;//要截取的长度
$strleng=strlen($str);//字符串长度
if($cutleng>$strleng)return$str;//字符串长度小于规定字数时,返回字符串自己
$notchinanum=0;//初始不是汉字的字符数
for($i=0;$i
{
if(ord(substr($str,$i,1))<=128)
{
$notchinanum++;
}
}
if(($cutleng%2==1)&&($notchinanum%2==0))//假如要截取奇数个字符,所要截取长度范围内的字符必须含奇数个非汉字,否则截取的长度加一
{
$cutleng++;
}
if(($cutleng%2==0)&&($notchinanum%2==1))//假如要截取偶数个字符,所要截取长度范围内的字符必须含偶数个非汉字,否则截取的长度加一
{
$cutleng++;
}
returnsubstr($str,0,$cutleng);
}
?>
在需要的时候,调用这个函数---cutstr例如:
<?php echocutstr($row_Rec_news[’news_title’],50);echo("...")?>//从后台读出新闻题目的前25个汉字,如有超过则显示省略号...