打印

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

当发表文章是纯文字时,截取该文章的前几行字,成为一个摘要。
当发表文章内含文字和图片时,截取部分图片和文字。
让其显示在主页作文章的链接。

[ 本帖最后由 chengdecong 于 2006-10-29 20:36 编辑 ]
ASP(VBS)中可以用left,<%=Left("一二三四五六七八九十",6)%>
那图片怎么弄呢?

TOP

认证您的手机,获得手机认证图标, 更多手机认证的好处
先要去掉HTML标签~~否则想要完美就用正则~~~
还是把图片URL存放到一个独立 的字段中好
曾经沧海难为水,除却巫山不是云.

TOP

用二楼的方法好行不行啊,我是这样用的(不要见笑)
<%=Left("<%=(Recordset1.Fields.Item("content").Value)%>",30)%>
其实我自己也觉得变扭

TOP

错误已修正<%=left(Recordset1.Fields.Item("content").Value,16)%>
另外图片的截取有什么asp语句可以参照呢?

TOP

同求助,请高手解决!!

TOP

还是用正则效果最好

TOP

我用了这个函数,可是截取还是有问题
'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

TOP

告诉楼主一个俺自己研究的方法


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

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

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

TOP

同求。那些blog里的是什么函数。有人发出来么?
我是看不懂。。。

TOP

方法自己想啊。方法都是想出来的。
1、left直接截取
2、人为添加标记
3、直接给个摘要的字段,写文章时自己写摘要。

其中1、2两条在处理长文章分页时也经常用到。
我的淘宝店:http://shop58394963.taobao.com/,中奖也不信
对管理有异议,请前往事务区进行投诉。请勿PM。

TOP

以ASP的VBS为例。
1.过滤HTML标签,正则函数如下:
复制内容到剪贴板
代码:
Function GetTextFromHtml(strHtml)
        Dim strPatrn
        strpatrn="<.*?>"
        Dim regEx
        Set regEx = New RegExp
        regEx.Pattern = strPatrn
        regEx.IgnoreCase = True
        regEx.Global = True
        GetTextFromHtml = regEx.Replace(strHtml,"")
    End Function
2.用LEFT函数,截取相应长度。

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

TOP

1、left直接截取
2、人为添加标记
3、直接给个摘要的字段,写文章时自己写摘要。
--------------------------------
1,遇到图片或者其它标记是读不出来的。如:<a href="www.163.com">aaaa</a>
left(rs("content"),2) 这样是没输出的
2,这样发表每一文章都要加,会不会是很麻烦 若是不小心没加了。就可能出现图片显出来的是X,或者输出不完整。。3,。。添加多了数据。而且也麻烦。
有没有实用的解决方法啊。

TOP

如果使用2,那结合1,即使不小心没加,也没事。1的话,再用正则处理。
这就是很实用的解决方法。
我的淘宝店:http://shop58394963.taobao.com/,中奖也不信
对管理有异议,请前往事务区进行投诉。请勿PM。

TOP

LS的版主有没有资料发来参考?正则我看了很久。。。。不过不会。。。
正则可不可以先把html这些标记除去。然后得到完全字符。。再用left截到所要的长度。然后用正则还原html标记?

TOP