请动网ASP及UBB高手帮个忙!

来源:百度知道 编辑:UC知道 时间:2024/05/26 01:59:22
我想在动网论坛的UBB代码里面加入一个新的标签进行转换,比如[voicedic]……[/voicedic],让它转换成<script languge="javascript">voicedic("……");</script>,并能使浏览器正确解释转换后的js代码!我自己已经试过了它本身提供的所有函数,都没有成功,比如我用Dv_UbbCode_S1函数转换后帖子直接出现那段js代码,而并没有被浏览器解释。请高手帮忙另外写个转换函数或者找出我造成上述现象的原因所在以及解决方法,不胜感激!
mrlelong的答案跟用Dv_UbbCode_S1函数的结果一样,显示帖子的时候是直接出现那句js的源代码,并没有被客户端浏览器所解释!

单单改这个地方好象没用,建议从显示帖子的代码那里入手分析!

呵呵···你到论坛里面去问啊···这里很难有答案的。

strContent是你的内容
re.Pattern="(\[voicedic\])(.[^\[]*)(\[\/voicedic\])"
strContent=re.Replace(strContent,"<br><script languge=""javascript""> voicedic(""$2"") </script>")

javascript函数客服端解释,服务器端无视的

UBB为了安全,使用的是2进制输出,所以,你的代码被直接显示而没有被执行。
想要绕过你就得另外加载数据,建议你把附件改为显示代码,插在UBB显示页前后。
这样不但保证了UBB原有的安全性,也可以给有权限的组员发布的代码可以被执行。

改Dv_ubbcode.asp里Dv_UbbCode函数:

在最后一行Dv_UbbCode = s前面加一行

s=Dv_UbbCode_S1(s,"voicedic","<scr"&"ipt languge='javascript'>voicedic('$1');</scr"&"ipt>")
Dv_UbbCode = s