怎么样达到这种效果:我给固定的宽度,如果显示不下、超长,自动只显示前面部分

javenfang 2002-12-03 10:10:06
怎么样达到这种效果:我给固定的宽度,如果显示不下、超长,自动只显示前面部分然后加一个 "......"。

看到有不少地方有这种效果的。请教怎么做到???

thanks
...全文
61 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
sakura169 2002-12-09
  • 打赏
  • 举报
回复
function FormatSub($sub,$len=40){
if(strlen($sub)>$len)
{
$cha=false;
for($j=0;$j<$len;$j++)
if(ord(substr($sub,$j,1))>160)$cha=!$cha;
if($cha)$len++;
$tmp=substr($sub,0,$len);
return $tmp."...";
}
else
{
return $sub;
}
}
gucs 2002-12-09
  • 打赏
  • 举报
回复
mark
binbin 2002-12-08
  • 打赏
  • 举报
回复
其实不出现乱码俺有一个很简单的方法,就是在截取完之后再接上一个chr(0)即可.不需要判断半个汉字.本是俺的秘技,为了赚点分就... 嘿嘿.
bsn 2002-12-03
  • 打赏
  • 举报
回复
读取数据库
取得长度
判断符合否规定长度
若符合直接赋值
若不符合则截取并加"..."

如此,主要用到一些简单的字符串函数,比如substr,strlen
很简单啦,自己写吧
javenfang 2002-12-03
  • 打赏
  • 举报
回复
谢谢啦!

在线等待。
eagle_gui 2002-12-03
  • 打赏
  • 举报
回复
呵,这程序就是楼上的兄弟( xizi2002(戏子) )改的

我刚才没看见高手在,实在出丑了
eagle_gui 2002-12-03
  • 打赏
  • 举报
回复
<?php
/***************************************
* 2002-12-03
* Eagle www.ggajj.net
* qqifle@21cn.com
* Name: 自动截取指定字符
****************************************/

//---中文汉字载取,不出现乱码,感谢csdn.net上的朋友提供,经EAGLE修改
function Getsubstr($str,$start,$len)
{
$strlen=strlen($str);
if ($start>=$strlen)
return $str;
$clen=0;
for($i=0;$i<$strlen;$i++,$clen++)
{
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);
}
if ($clen>=$start+$len)
break;
}
return $tmpstr."......?";
}
xizi2002 2002-12-03
  • 打赏
  • 举报
回复
有理
mostice 2002-12-03
  • 打赏
  • 举报
回复
$string = "abagiceieieieie";
if (len($string)>10){
$str = substr($string,0,10)
}
echo $str."......";
这样可以吗?

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧