CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

在显示新闻标题的时候,文字过长,怎么让超出的部分省略掉变成省略号?

楼主gengtaoo()2006-03-01 15:38:20 在 Java / J2SE / 基础类 提问

在显示新闻标题的时候,文字过长,怎么让超出的部分省略掉变成省略号? 问题点数:10、回复次数:9Top

1 楼725137(2006年不会菜)回复于 2006-03-01 15:44:05 得分 2

定义一个长度嘛  
  Sting   s="这是新闻标题哈哈哈哈哈哈哈哈";  
  int   lengt=s.length();  
  if   (int>10)  
          s=s.substring(0,10)+"...";  
  Top

2 楼alickma(零缺点)回复于 2006-03-01 15:46:53 得分 2

substring(int   beginIndex,   int   endIndex)    
                      Returns   a   new   string   that   is   a   substring   of   this   string.  
   
   
  用这个方法试下Top

3 楼gengtaoo()回复于 2006-03-01 15:56:56 得分 0

我忘记说了  
  条件是不在服务器端进行  
  用css或脚本怎么弄啊?  
  谢谢Top

4 楼buffoon(悠云[http://buffoon.blog.com.cn])回复于 2006-03-01 16:18:13 得分 2

刚好在人家blog(http://www.mysheji.com/blog/article.asp?id=304)上看到过  
  ======  
  <%  
  function   cLeft(str,n)  
  dim   str1,str2,alln,Islefted  
  str2   =   ""  
  alln   =   0  
  str1   =   str  
  Islefted   =   false  
  if   isnull(str)   then  
  cleft   =   ""  
  exit   function  
  end   if  
  for   i   =   1   to   len(str1)  
  nowstr   =   mid(str1,i,1)  
  if   asc(nowstr)<0   then  
  alln   =   alln   +   2  
  else  
  alln   =   alln   +   1  
  end   if  
  if   (alln<=n)   then  
  str2   =   str2   &   nowstr  
  else  
  Islefted   =   true  
  exit   for  
  end   if  
  next  
  if   Islefted   then  
  str2   =   str2   &   ".."  
  end   if  
  cleft   =   str2  
  end   function  
  %>  
  ======  
   
  不过不好意思,是VBS的Top

5 楼725137(2006年不会菜)回复于 2006-03-01 16:43:09 得分 4

脚本还是一样的道理嘛。。  
   
  <body   onload="gai();">    
  <span   id   ="new1">我是新闻哈哈哈哈哈哈哈哈哈哈我行了吗</span>  
  <body>  
  <SCRIPT   LANGUAGE="JavaScript">  
    function   gai()  
    {  
      if   (new1.innerText.length>10)  
          {  
            var   s   =new1.innerText.substring(0,10);  
              new1.innerText=s+"...";  
          }  
    }  
  </SCRIPT>  
   
  记得把你新闻的标题弄成<span>标签之间Top

6 楼maquan('ma:kju)回复于 2006-03-01 17:10:11 得分 0

我想追加一个问题。  
   
  如果这个“新闻标题”里面既有中文字符,又有英文字符或者数字(也就是所谓的半角字符),怎么才能保证固定的“显示宽度”呢?如果只截取固定的字符数是不行的。Top

7 楼universe01(未知软体)回复于 2006-03-01 21:30:48 得分 0

判断字符编码,可以做到!Top

8 楼maquan('ma:kju)回复于 2006-03-02 12:03:07 得分 0

universe01   的意思是,逐个字符遍历,判断它是全角还是半角,是这样吧?  
   
  这种方法大体上是可以,不过有几点不足,一个是看起来好像效率比较低,可能会影响性能;另一个,如果所使用的字体不是“定宽字体”的话,还是不能完全满足要求。  
   
  不过,也许这些要求有点过分了,呵呵。Top

9 楼gengtaoo()回复于 2006-03-02 14:27:06 得分 0

725137(2006年不会菜)    
  说的不错  
  谢谢Top

相关问题

  • 如何让超出范围的标题文字用省略号表示
  • 新闻标题过长如何实现多余的用省略号显示(VB.NET)
  • 哪有这样控件:在Edit后面有个省略号,并有且省略号之持事件!
  • SQL查询,看似简单,其实 省略号
  • int fun( int a, int b, ... )后面的省略号是什么意思?
  • C++中函数列表里的省略号怎么用呀?
  • 超链接列多余字符如何用省略号代替?
  • 关于函数参数的省略号使用
  • text-overflow: ellipsis为什么不显示省略号?
  • 函数参数带省略号的用法

关键词

  • 字符
  • 新闻
  • 标题
  • 显示
  • substring

得分解答快速导航

  • 帖主:gengtaoo
  • 725137
  • alickma
  • buffoon
  • 725137

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo