请问这个获得新闻标题的语句:$title=substr($row[title],"0",$titlelen")."..."为什么在显示的时候在最后面老是加问号怎么解决?
请问这个获得新闻标题的语句:$title=substr($row[title],"0",$titlelen")."..."为什么在显示的时候在最后面老是加问号怎么解决? 问题点数:0、回复次数:3Top
1 楼xuzuning(唠叨)回复于 2003-12-01 09:01:18 得分 0
出现了半个汉字
$title=substr($row[title],"0",$titlelen").chr(0)."..."Top
2 楼bonniewater(陪你去看海)回复于 2003-12-01 09:15:26 得分 0
function csubstr($string,$start,$length)
{
$str="";
$len=$start+$length;
for($i=$start;$i<$len;$i++){
if(ord(substr($string,$i,1))>0xa0){
$str.=substr($string,$i,2);
$i++;
}
else
$str.=substr($string,$i,1);
}
return $str;
}Top
3 楼prettypretty()回复于 2003-12-01 14:49:17 得分 0
function ccStrLeft($str,$len) #从左边截取中英文混合字符串
{
$ascLen=strlen($str); if($ascLen<=$len) return $str;
$hasCC=ereg("[\xA1-\xFE]",$str); #同上
$hasAsc=ereg("[\x01-\xA0]",$str);
if(!$hasCC) return substr($str,0,$len);
if(!$hasAsc)
if($len & 0x01) #如果长度是奇数
return substr($str,0,$len+$len-2);
else
return substr($str,0,$len+$len);
$cind=0;$flag=0;
while($cind<$ascLen)
{
if(ord(substr($str,$cind,1))<0xA1) $flag++;
$cind++;
}
if($flag & 0x01)
return substr($str,0,$len);
else
return substr($str,0,$len-1);
}Top




