主题:  怎么在动态显示数据库内容后加。。。?

luoxu0501

职务:普通成员
等级:1
金币:0.0
发贴:8
#12004/10/31 12:04:43
[font=宋体] font]



luoxu0501

职务:普通成员
等级:1
金币:0.0
发贴:8
#22004/10/31 12:07:40
郁闷死了,我写的那一大断话怎么没有了?



luoxu0501

职务:普通成员
等级:1
金币:0.0
发贴:8
#32004/10/31 12:11:08
气死我了,我在我的主页上做了一个动态显示数据库内容的东西,有的标题因为过长,我就是用left函数,只取前20个字符,但是超过20个字符的我想在后面加上。。。三个点点。怎么加? 因为如果不足20个那就可以完整显示,如果超过20个就显示20个,但是问题是看上去不完整,所以我想在后面加上。。。表示还有内容,然后鼠标移上去就显示全部内容,怎么做? 请高手指教,小妹不胜感激!!!!!!



luoxu0501

职务:普通成员
等级:1
金币:0.0
发贴:8
#42004/10/31 13:59:33
有没有人会啊?能否指教一二~~~~~今天真郁闷~~~~~



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#52004/10/31 19:27:55
<a title="全部显示" href="index.htm">显示内容</a>

另用left函数不好,因双字节的中文与英文字的宽度不同,中英文混排会有错落。
一个方法先用ASC函数判断一下是否为双字节,ASP中好象没有判断双字节的函数,但中文字的ASC码都小于0。一个中文字符的宽度应该为英文的2倍。


非常大鱼

luoxu0501

职务:普通成员
等级:1
金币:0.0
发贴:8
#62004/11/2 16:18:27
呵呵,后来那天我知道了怎么做,并且已经调试成功,怕以后还有人问这样的问题,我把我做的和大家共享。if len(字符串)>=21 then response.write(left( 字符串,20) )else response.write(字符串) end if



luoxu0501

职务:普通成员
等级:1
金币:0.0
发贴:8
#72004/11/2 16:32:50
刚刚没有写全response.write(left( 字符串,20) )&"..."
斑竹,多糕点精华文章来看看



大当家

职务:普通成员
等级:3
金币:1.0
发贴:767
#82004/11/2 17:56:24


继续跟帖的时候请把回帖看完再说。~

蓝鲸说的首先判断双字节不予理会?

PS:Left的具体用法随便查下参考都能查到。~



沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#92004/11/2 18:02:01
function strLength(str)
       ON ERROR RESUME NEXT
       dim WINNT_CHINESE
       WINNT_CHINESE    = (len("论坛")=2)
       if WINNT_CHINESE then
          dim l,t,c
          dim i
          l=len(str)
          t=l
          for i=1 to l
             c=asc(mid(str,i,1))
             if c<0 then c=c+65536
             if c>255 then
                t=t+1
             end if
          next
          strLength=t
       else 
          strLength=len(str)
       end if
       if err.number<>0 then err.clear
end function

摘自动网论坛


难人一个……

蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#102004/11/2 19:55:25
arhui这个函数不错,我一直没有正解。以前虽自己做了一个,但担心一些特殊符号会不适用。


非常大鱼

luoxu0501

职务:普通成员
等级:1
金币:0.0
发贴:8
#112004/11/3 15:46:56
看完扬扬的回贴,我感到非常气愤!!!!
如果你不愿意教别人,你就闭嘴。来这里提问的肯定是有不会的问题的,何况象我这种菜鸟,虽然我编程方面我很菜,但是我也不喜欢别人对我指手画脚。爱教就教,不爱教就不教。如果我们带着鄙视别人弱点的心理去看别人,只能得到更多的鄙视。
来到这里的每个人,都期望能跟大家友好的相处,如果有人想破坏这种氛围,一定会令人讨厌,就算你是布什又怎样?
还有,在我提出问题以后,我看不到答复,就四处搜代码,所幸在精华篇里找到,非常适用,当天完成了老板的任务,我也不是什么都不去努力,专门等着别人来解答,每个人都很努力,请不要嘲笑别人的弱点。还有,我根本就不知道判断双字节有什么用,我是搞工程的,实现目的就行。但是我还是很认真的看了arhui地回贴,还是很感谢你,虽然没有了时效性,但是对于我以后做还有看这个贴子的人都将有所帮助。大家都会感谢你。



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#122004/11/3 16:38:13
luoxu0501在上个帖子中说
引用:
看完扬扬的回贴,我感到非常气愤!!!!
如果你不愿意教别人,你就闭嘴。来这里提问的肯定是有不会的问题的,何况象我这种菜鸟,虽然我编程方面我很菜,但是我也不喜欢别人对我指手画脚。爱教就教,不爱教就不教。如果我们带着鄙视别人弱点的心理去看别人,只能得到更多的鄙视。
来到这里的每个人,都期望能跟大家友好的相处,如果有人想破坏这种氛围,一定会令人讨厌,就算你是布什又怎样?
还有,在我提出问题以后,我看不到答复,就四处搜代码,所幸在精华篇里找到,非常适用,当天完成了老板的任务,我也不是什么都不去努力,专门等着别人来解答,每个人都很努力,请不要嘲笑别人的弱点。还有,我根本就不知道判断双字节有什么用,我是搞工程的,实现目的就行。但是我还是很认真的看了arhui地回贴,还是很感谢你,虽然没有了时效性,但是对于我以后做还有看这个贴子的人都将有所帮助。大家都会感谢你。


先消消火
这里已经给出了你的答案了。平常来这里的,一般我们都不会给完整代码的,以提示为多。因给别人提示更能帮助别人。
论坛中稍过激些很平常,别太在意。来论坛肯定要被别人砍的,论坛就这样。


非常大鱼

我佛山人

职务:版主
等级:4
金币:16.0
发贴:2269
#132004/11/6 3:35:18
以前写过几个版本的,共享一下:
JS(判断中文):
String.prototype.limit=function(){
var n=22,oText=this
var len=oText.length+oText.match(/[\u0391-\uFFE5]/ig).length
if(len>n){
while(len>n){
oText=oText.substring(0,oText.length-1)
len=oText.length+oText.match(/[\u0391-\uFFE5]/ig).length
}
oText+="..."
}
return oText
}


VBS(判断双字节):
function limit(str)
strLen=len(str)
tempLen=0
total=25
tempStr=""
if strLen<total/2 then
	tempStr=str
else
	for i=1 to strLen
		tempChr=asc(mid(str,i,1))
		tempLen=tempLen+1
		if tempLen>total then
		tempStr=tempStr&"..."
		exit for
		end if
		if tempChr<0 or tempChr>255 then tempLen=tempLen+1
		tempStr=tempStr&mid(str,i,1)
	next
end if
limit=tempStr
end function

C#(判断中文):
		public int bLen(string Str)
		{
			Regex re = new Regex(@"[\u0391-\uFFE5]",RegexOptions.Multiline);
			return re.Replace(Str,"**").Length;
		}

		public string limit(string Str,int n)
		{
			int len = bLen(Str);
			if(len>n)
			{
				while(len>n)
				{
					Str = Str.Substring(0,Str.Length-1);
					len = bLen(Str);
				}
				Str += "...";
			}
			return Str;
		}



大当家

职务:普通成员
等级:3
金币:1.0
发贴:767
#142004/11/7 18:22:27
luoxu0501在上个帖子中说
引用:
看完扬扬的回贴,我感到非常气愤!!!!
如果你不愿意教别人,你就闭嘴。来这里提问的肯定是有不会的问题的,何况象我这种菜鸟,虽然我编程方面我很菜,但是我也不喜欢别人对我指手画脚。爱教就教,不爱教就不教。如果我们带着鄙视别人弱点的心理去看别人,只能得到更多的鄙视。
来到这里的每个人,都期望能跟大家友好的相处,如果有人想破坏这种氛围,一定会令人讨厌,就算你是布什又怎样?
还有,在我提出问题以后,我看不到答复,就四处搜代码,所幸在精华篇里找到,非常适用,当天完成了老板的任务,我也不是什么都不去努力,专门等着别人来解答,每个人都很努力,请不要嘲笑别人的弱点。还有,我根本就不知道判断双字节有什么用,我是搞工程的,实现目的就行。但是我还是很认真的看了arhui地回贴,还是很感谢你,虽然没有了时效性,但是对于我以后做还有看这个贴子的人都将有所帮助。大家都会感谢你。




luoxu0501,真不好意思,其实本来没有那种意思,无心的几句话对你造成影响。
很能体谅你的心情,请原谅我的过失。

很长时间都是随意的潜水逛逛,那天无意中看到的这个帖子。

luoxu0501,在这里的绝对没有谁看不起谁,大家都是来学习的。



Helken

职务:普通成员
等级:1
金币:0.0
发贴:3
#152004/11/9 22:47:13
对,还是这个最简单实用,好用好用~~~
if len(字符串)>=21
then response.write(left( 字符串,20) )&"..."
else response.write(字符串)
end if