请选择 进入手机版 | 继续访问电脑版
收藏本站腾讯微博新浪微博
点点网模板设计大赛 phpchina

经典论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

蓝色理想 最新研发动态 用悬赏 三天解决问题 解决访问速度慢 论坛支持农历生日 - 给官方提建议

论坛活动及任务 归纳网站最新活动 地图任务 邮件更新任务:保护帐号安全

积分换实物,来参加蓝色理想积分兑换吧! 联系招聘客服 蓝色理想帮你找工作! 万元奖励等你拿——点点网模板设计大赛

查看: 2046|回复: 16

[asp] [求助]怎样截取Blog内容的前部分? [复制链接]

chengdecong 楼主
帖子
18
体力
51
威望
0
发表于 2006-10-29 20:29:08 |显示全部楼层
当发表文章是纯文字时,截取该文章的前几行字,成为一个摘要。
当发表文章内含文字和图片时,截取部分图片和文字。
让其显示在主页作文章的链接。

[ 本帖最后由 chengdecong 于 2006-10-29 20:36 编辑 ]
西部数码顶级域名注册商39元抢注!
SenFe 

盛飞

钻石会员 手机认证 

帖子
6222
体力
12069
威望
14
居住地
四川省 成都市
发表于 2006-10-29 20:57:15 |显示全部楼层
ASP(VBS)中可以用left,<%=Left("一二三四五六七八九十",6)%>
承接程序定制、修改。
租服务器,上51IDC | [长沙]招聘:PHP经理10K/WEB前端6K/PHP开发6K

使用道具 举报

chengdecong 楼主
帖子
18
体力
51
威望
0
发表于 2006-10-29 21:19:21 |显示全部楼层
那图片怎么弄呢?

使用道具 举报

SenFe 

盛飞

钻石会员 手机认证 

帖子
6222
体力
12069
威望
14
居住地
四川省 成都市
发表于 2006-10-29 21:21:41 |显示全部楼层
先要去掉HTML标签~~否则想要完美就用正则~~~
承接程序定制、修改。

使用道具 举报

asp910 

蓝色尘埃

银牌会员

帖子
710
体力
1986
威望
7
居住地
湖南省 长沙市
发表于 2006-10-29 21:26:34 |显示全部楼层
还是把图片URL存放到一个独立 的字段中好
曾经沧海难为水,除却巫山不是云.

使用道具 举报

chengdecong 楼主
帖子
18
体力
51
威望
0
发表于 2006-10-29 21:56:10 |显示全部楼层
用二楼的方法好行不行啊,我是这样用的(不要见笑)
<%=Left("<%=(Recordset1.Fields.Item("content").Value)%>",30)%>
其实我自己也觉得变扭

使用道具 举报

chengdecong 楼主
帖子
18
体力
51
威望
0
发表于 2006-10-29 22:11:48 |显示全部楼层
错误已修正<%=left(Recordset1.Fields.Item("content").Value,16)%>
另外图片的截取有什么asp语句可以参照呢?

使用道具 举报

帖子
70
体力
164
威望
0
发表于 2008-5-6 21:51:44 |显示全部楼层
同求助,请高手解决!!

使用道具 举报

冈萨蕾丝

初级会员

帖子
70
体力
327
威望
0
居住地
湖北省 宜昌市
发表于 2008-5-7 08:43:56 |显示全部楼层
还是用正则效果最好

使用道具 举报

帖子
70
体力
164
威望
0
发表于 2008-5-7 10:01:09 |显示全部楼层
我用了这个函数,可是截取还是有问题
'BLOG前面部份内容
'*************测字符串长度**************
Function InterceptString(txt,length)
  txt=trim(txt)
  x = len(txt)
  y = 0
  if x >= 1 then
    for ii = 1 to x
      if asc(mid(txt,ii,1)) < 0 or asc(mid(txt,ii,1)) >50 then
        y = y + 2
      else
        y = y + 1
      end if
      if y >= length then
        txt = left(trim(txt),ii) & "(略...)"
        exit for
      end if
    next
    InterceptString = txt
  else
    InterceptString = ""
  end if
End Function

使用道具 举报

笨小孩儿

钻石会员 手机认证 

帖子
2328
体力
6643
威望
54
居住地
江苏省 苏州市
发表于 2008-5-7 10:08:05 |显示全部楼层
告诉楼主一个俺自己研究的方法


在写文章时,在要截取的位置加上一个[|],在显示摘要时,用 <%=split(rs("content"),"[|])(0)%>

在显示文章时用<%=replace(rs("content"),"[|]","")%>

就OK了
我命由我不由天~
80社区

使用道具 举报

onepc 
帖子
127
体力
300
威望
0
居住地
广东省 广州市
发表于 2008-6-23 02:17:11 |显示全部楼层
同求。那些blog里的是什么函数。有人发出来么?
我是看不懂。。。

使用道具 举报

苦寒竹

管理员

帖子
19776
体力
17935
威望
23
居住地
浙江省 金华市
发表于 2008-6-23 10:00:01 |显示全部楼层
方法自己想啊。方法都是想出来的。
1、left直接截取
2、人为添加标记
3、直接给个摘要的字段,写文章时自己写摘要。

其中1、2两条在处理长文章分页时也经常用到。
搞IT的穷秀才。

使用道具 举报

cnSaturn

中级会员 手机认证 

帖子
82
体力
322
威望
1
居住地
大洋洲 澳大利亚
发表于 2008-6-23 14:35:00 |显示全部楼层
以ASP的VBS为例。
1.过滤HTML标签,正则函数如下:
  1. Function GetTextFromHtml(strHtml)
  2.         Dim strPatrn
  3.         strpatrn="<.*?>"
  4.         Dim regEx
  5.         Set regEx = New RegExp
  6.         regEx.Pattern = strPatrn
  7.         regEx.IgnoreCase = True
  8.         regEx.Global = True
  9.         GetTextFromHtml = regEx.Replace(strHtml,"")
  10.     End Function
复制代码

2.用LEFT函数,截取相应长度。

[ 本帖最后由 fimmuhu 于 2008-6-23 14:36 编辑 ]

使用道具 举报

onepc 
帖子
127
体力
300
威望
0
居住地
广东省 广州市
发表于 2008-6-23 21:59:37 |显示全部楼层
1、left直接截取
2、人为添加标记
3、直接给个摘要的字段,写文章时自己写摘要。
--------------------------------
1,遇到图片或者其它标记是读不出来的。如:<a href="www.163.com">aaaa</a>
left(rs("content"),2) 这样是没输出的
2,这样发表每一文章都要加,会不会是很麻烦 若是不小心没加了。就可能出现图片显出来的是X,或者输出不完整。。3,。。添加多了数据。而且也麻烦。
有没有实用的解决方法啊。

使用道具 举报

苦寒竹

管理员

帖子
19776
体力
17935
威望
23
居住地
浙江省 金华市
发表于 2008-6-24 09:06:42 |显示全部楼层
如果使用2,那结合1,即使不小心没加,也没事。1的话,再用正则处理。
这就是很实用的解决方法。
搞IT的穷秀才。

使用道具 举报

onepc 
帖子
127
体力
300
威望
0
居住地
广东省 广州市
发表于 2008-6-24 17:03:54 |显示全部楼层
LS的版主有没有资料发来参考?正则我看了很久。。。。不过不会。。。
正则可不可以先把html这些标记除去。然后得到完全字符。。再用left截到所要的长度。然后用正则还原html标记?

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

Archiver|手机版|安久科技提供CDN|blueidea.com ( 京ICP备05002321号 )  

GMT+8, 2012-2-13 12:19 , Processed in 0.152489 second(s), 10 queries , Gzip On, Memcache On.

Powered by Discuz! X2

© 2001-2011 Comsenz Inc.

回顶部