asp学生论坛bbs设计毕业论文(开题报告+源代码) 第14页

asp学生论坛bbs设计毕业论文(开题报告+源代码) 第14页
 (1) URL超级连接:直接输入http://www.751com.cn系统将直接创建超级链接。
[url]http://www.751com.cn[/url]
或者可以使用
[url=http://www.751com.cn]EMU618论坛[/url]
 (2) E-mail超级连接:在你的信息里加入电子邮件的超级链接,可以按下面的方式套用UBB代码。
[email]feilusaidi@751com.cn[/email]
 (3) 粗体与斜体:可以使用[b][/b]来表示粗体,[i][/i]来表示斜体
 (4) 列表:在信息里加入列表,按照下例套用UBB代码
[list]
[*] firstline
[*] secondline
[/list]
 如果要加入序列可以使用[list=A]或[list=1]就可以按照字母和数字来排序了。
 (5) 加入图片:[img]图片地址[/img]可以在文章中插入图片。
 (6) 引用信息:[quote]引用内容[/quote]可以插入引用的信息。
 (7) 保持格式:如果需要帖入一些按一定格式排列的字符图可以使用[code]内容[/code],这样里面的内容会按照你帖入的格式严格排列。
 (8) 彩色文字:[color=red]文字[/color]可以让文字变成彩色。这里red是论坛已经定义好的彩色列表,red=#FF0000,用户也可以自己定义其他非论坛定义的色彩。
 以上是关于基本UBB代码的使用,而在实际操作时对于UBB代码也可以进行过滤,引用别人的发言时也可以使用直接引用选项,自动完成UBB操作。见程序4-7和4-8。
程序4-7 UBB过滤程序(post.asp)
Function cutStr(str,strlen)
  Dim re
  Set re=new RegExp
  re.IgnoreCase =True
  re.Global=True
  re.Pattern="<(.[^>]*)>"
  str=re.Replace(str,"") 
  set re=Nothing
  Dim l,t,c,i
  l=Len(str)
  t=0
  For i=1 to l
   c=Abs(Asc(Mid(str,i,1)))
   If c>255 Then
    t=t+2
   Else
    t=t+1
   End If
   If t>=strlen Then
    cutStr=left(str,i)&"..."
    Exit For
   Else
    cutStr=str
   End If
  Next
  cutStr=Replace(cutStr,chr(10),"")
  cutStr=Replace(cutStr,chr(13),"")
End Function
程序4-7的用处是过滤掉所有HTML代码的标记。
程序4-8 引用他人发言程序(post.asp)
Function Ubb2Html(str)
 If Str<>"" And Not IsNull(Str) Then
  Dim re
  Set re=new RegExp
  re.IgnoreCase =True
  re.Global=True
  re.Pattern="(>)("&vbNewLine&")(<)"
  Str=re.Replace(Str,"$1$3")
  re.Pattern="(>)("&vbNewLine&vbNewLine&")(<)"
  Str=re.Replace(Str,"$1$3")
  re.Pattern=vbNewLine
  Str=re.Replace(Str,"<br>")
  re.Pattern="(  )"
  Str=re.Replace(Str,"&nbsp;&nbsp;")
  re.Pattern="<I><\/I>"
  Str=re.Replace(Str,"")
  re.Pattern="( )"
  Str=re.Replace(Str,"&nbsp;")
  re.Pattern="<(\w+)(&nbsp;)+([^>]*)>"
  Str = re.Replace(Str,"<$1 $3>")
  If Request("reply")="true" Then
   re.Pattern="(<DIV class=quote><b>以下是引用(.|\n)*<\/div>)"
   Str=re.Replace(Str,"")
   re.Pattern="(\[quote\]<b>以下是引用(.|\n)*\[\/quote\])"
   Str=re.Replace(Str,"")
   re.Pattern="(\[quote\]\[b\]以下是引用(.|\n)*\[\/quote\])"
   Str=re.Replace(Str,"")
  End If
  Set Re=Nothing
  Ubb2Html = Str
 Else
  Ubb2Html = ""
 End If
End Function
 这两个程序都有<% Set re=RegExp %>这样的一句,RegExp储存有关正则表达式模式匹配结果的信息。此对象不能显示构造,用法是RegExp(“模式”[,”标记”])。模式表示正则表达式的文本,标记可以全定匹配(g)或忽略大小写的匹配(i)。
 帖子的修改和发布是基本上相同的,不同的是修改时要取得原来帖子的全部内容,这些内容都储存在帖子信息表bbs1_T的Body字段。而删除帖子只需要对帖子信息表的相关帖子的ID进行删除操作,但要注意的是如果删除的是主题,则需要把与主题ID相关的帖子ID都进行删除,这里要进行一个筛选。
 4.3.2 帖子浏览模块
 帖子浏览模块部分最重要的是对数据库的操作,如帖子的分页列表、搜索等。帖子的分页程序见程序4-9。
 程序4-9 帖子分页程序(list.asp)
Function Show_List_Topic()
 Dim Cmd,limitime,SQL,Rs,i,TempStr,ti,TopicTempStr
 Dim Posttime
 If IsSqlDataBase=1 And IsBuss=1 Then
  Set Cmd = Server.CreateObject("ADODB.Command")
  Set Cmd.ActiveConnection=conn
  Cmd.CommandText="dv_list"
  Cmd.CommandType=4
  Cmd.Parameters.Append cmd.CreateParameter("@boardid",3)
  Cmd.Parameters.Append cmd.CreateParameter("@pagenow",3)
  Cmd.Parameters.Append cmd.CreateParameter("@pagesize",3)
  Cmd.Parameters.Append cmd.CreateParameter("@tl",3)
  Cmd.Parameters.Append cmd.CreateParameter("@topicmode",3)
  Cmd.Parameters.Append cmd.CreateParameter("@totalrec",3,2)
  Cmd("@boardid")=Mybbs.BoardID
  Cmd("@pagenow")=page
  Cmd("@pagesize")=Cint(Mybbs.Board_Setting(26))
  Cmd("@topicmode")=TopicMode
  If limitime="" Then
   Cmd("@tl")=0

 << 上一页  [11] [12] [13] [14] [15] [16] [17] [18] 下一页

Copyright © 2007-2012 www.chuibin.com 六维论文网 版权所有