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," ")
re.Pattern="<I><\/I>"
Str=re.Replace(Str,"")
re.Pattern="( )"
Str=re.Replace(Str," ")
re.Pattern="<(\w+)( )+([^>]*)>"
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] 下一页