一般来说,要截取的变量来自Mysql,首先要保证那个字段长度要足够长,一般为char(200),可以保持100个汉字,包括标点.
本程序实现的功能:
截取指定长度汉字而不会出现以"?>"结尾,超出部分以"..."代替
str="这个字符比较长SO LONG";
Short_Str=showShort(str,4);//截取前面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)
{
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;
}
?>
使用方法:
1.将以上代码另存为dovia.php
2.页面引入:
2.套用函数输出目标: