编写论坛的遇到的一个问题,请各位高手进来看看

torytin 2002-10-18 08:54:31
为了在论坛中提供类似更改发言内容字体,颜色等功能
我在用户发帖的时候用[color="#****"][/color][size=*][/size][face=""][/face]来代替html语言
但在转换成html语言的时候遇到了困难.
我现在是把所有的"]"替换成">"
然后再把"[color"替换成"<font color"
这样逐一替换,感觉很麻烦,而且会把用户输入的"]"也替换成">"
我看了动网的源码,他好像是建立一个RegExp对象,但我看不懂.
请各位高手帮忙,最好能给出源代码

谢谢

...全文
27 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
torytin 2002-10-18
  • 打赏
  • 举报
回复
to wpmsoft(风清扬)
你的思路不错,虽然实现起来可能有点麻烦。比如,在第一步后怎么判断第二步就比较烦。
顺便再问一下,有谁能知道动网论坛是怎么实现的吗?
wpmsoft 2002-10-18
  • 打赏
  • 举报
回复
给你一个思路

你的标记应该有一些规则的
[color="#****"][/color][size=*][/size][face=""][/face]
我总结了一下:

1 找到第一个[
2 后面必然跟着color=,/color,size=,/size,face=,/face,..., 否则重复1
3 替换为相对应的HTML代码<font color=, </color, <font size=,...
4 找下一个], 替换为HTML代码>, 重复1

这样子是不可能将用户输入的]进行转换的,你可以试一试
torytin 2002-10-18
  • 打赏
  • 举报
回复
你这样的方法跟我原来用的差不多,不过,比我的要好的
但还是比较麻烦.而且我前面页面用的标记符都是[color="#****"]……[/color]
而你是用[color]#****[/color]……[//color]如果改的话要改很多页面的
不知道有没有可以让我不用改前面的代码,只要在处理页面改动一下就行的?
sdliubo 2002-10-18
  • 打赏
  • 举报
回复
'将表单中的控制标签转换为标准的html代码
'先将页面的的原中html代码转换为字符这样可以防止非法攻击
'参数content 为提交表单的内容
Function convert(content)
'前两行屏蔽html代码 如不需要注释掉即可
message = Replace(content,"<","<")
message = Replace(message,">",">")
message = Replace(message,"[B]","<B>")
message = Replace(message,"[/B]","</B>")
message = Replace(message,vbcrlf,"<br>")
message = Replace(message,"[color]","<font color=")
message = Replace(message,"[/color]",">")
message = Replace(message,"[//color]","</font>")
message = Replace(message,"[size]","<font size=")
message = Replace(message,"[/size]",">")
message = Replace(message,"[//size]","</font>")
message = Replace(message,"[URL]","<a href=")
message = Replace(message,"[/URL]"," target=_blank>")
message = Replace(message,"[//URL]","</a>")
message = Replace(message,"[I]","<i>")
message = Replace(message,"[/I]","</i>")
message = Replace(message,"
","<div align=center>")
message = Replace(message,"
","</div>")
message = Replace(message,"[U]","<u>")
message = Replace(message,"[/U]","</u>")
convert = message
End Function
不要将"]"替换成">" 只要将< 或>替换成符号就行了

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧