谈中国站长站的文章干扰码实现方法(2)

来源:asp之家 时间:2007-10-13 11:13:00 

下面来说一下asp的实现中国站长站文章干扰码的方法:

原理:使用asp中的replace函数来替换指定的</p>,分两次替换:


str="文章内容"
str=replace(str,"</p>"," </p>")
str=replace(str," </p>","随机干扰码")


怎么做到随机添加干扰码呢?您可以先看看这个文章《8个asp生成随机字符的函数

我们使用8个asp生成随机字符的函数这篇文章中的第3个随机生成字符方法:


dim a(5)
randomize 
t=int(rnd*5) 
a(0)="yingyu" 
a(1)="laoda" 
a(2)="wangzhan" 
a(3)="maiwangzhan" 
a(4)="hehe" 


这里定义了一个数组用来存放特定的随机干扰码,如果有更多的干扰码就一直加进去,改下数字就可以了,这里以5个随机干扰码为例:


dim a(5)
randomize 
t=int(rnd*5) 
a(0)="<p class='Wsc965'>Chinaz.com</p>" 
a(1)="<div class='Wsc965'>Chinaz_com</div>" 
a(2)="<span class='Wsc965'>中国.站长站</span>" 
a(3)="<p class='Wsc965'>站.长站</p>" 
a(4)="<font color='#F5FAFE'>Chinaz_com</font>" 


这里注意一下干扰码的样式或颜色要与文章内容的背景色相同,这样才不会影响大家的正常阅读!

有了这个我们来替换</p>就方便了。注意你不能一次使用replace替换掉:


<%
str="<p>谈中国站长站的文章干扰码实现方法!</p> <p>献丑了,谢谢大家捧场!</p> <p>来源:asp之家! </p> <p>asp之家 致力于为Asp学习者提供专业而高质量的Asp内容 </p> <p>作者:天空诚 </p> <p>asp之家网址:http://www.aspxhome.com </p> <p>谈中国站长站的文章干扰码实现方法</p>"
'这里str在实际使用时换成你文章的内容
dim a(5)
randomize 
t=int(rnd*5) 
a(0)="<p class='Wsc965'>Chinaz.com</p>" 
a(1)="<div class='Wsc965'>Chinaz_com</div>" 
a(2)="<span class='Wsc965'>中国.站长站</span>" 
a(3)="<p class='Wsc965'>站.长站</p>" 
a(4)="<font color='#F5FAFE'>中国站长站</font>"
'这些干扰码在实际使用时为了修改方便可以保存在数据库中,使用时调用
str=replace(str,"</p>"," </p>")
str=replace(str," </p>",a(t))
response.write str
%>


如果你直接使用上面的str=replace(str," </p>",a(t))来替换的话,程序会随机调用一个干扰字符一次性替换掉所有的" </p>",而这个不是我们要的效果。我们要的是替换每一个" </p>"都是随机的字符。

这里我使用的方法是:先用split(str," </p>")函数来保存文章内容到一个数组,再加入随机干扰码后最后连接起来,不知道还有没有更好的方法,欢迎讨论!

源代码如下:


<%
str="<p>谈中国站长站的文章干扰码实现方法!</p> <p>献丑了,谢谢大家捧场!</p> <p>来源:asp之家!</p> <p>asp之家 致力于为Asp学习者提供专业而高质量的Asp内容</p> <p>作者:天空诚</p> <p>asp之家:http://www.aspxhome.com </p> <p>谈中国站长站的文章干扰码实现方法</p>"
dim a(5)
randomize 
a(0)="<p class='Wsc965'>Chinaz.com</p>" 
a(1)="<div class='Wsc965'>Chinaz_com</div>" 
a(2)="<span class='Wsc965'>中国.站长站</span>" 
a(3)="<p class='Wsc965'>站.长站</p>" 
a(4)="<font color='#F5FAFE'>中国站长站</font>"
str=replace(str,"</p>"," </p>")
str2=split(str," </p>")
for i=0 to ubound(str2)
   t=int(rnd*5) 
   str3=str3&str2(i)&a(t)&"</p>" 
next
response.write str3
%>

呵呵,到这里中国站长站的文章干扰码功能已经差不多完成了。这里有个细节我们要注意一下:就是当程序处理到了文章中的最后一个"</p>"时,我们要考虑文章内容中的最后一个</p>后是否还有内容,如果没有内容的话,文章就多加了一个干扰码,当然这个也没什么问题。如果想解决这个问题可以加一个判断:


if str2(i)<>"" then  str3=str3&str2(i)&a(t)&"</p>"  


有什么问题,欢迎大家留言

看看续篇:如何过滤中国站长站(chianz)文章干扰码 (2008-1-4)

标签:干扰码,随机,中国站长站,随机字符
0
投稿

猜你喜欢

  • Unobtrusive的Web开发

    2007-11-23 13:13:00
  • ASP 判断是否有中文的代码

    2011-04-15 11:07:00
  • Oracle与SQL Server数据库镜像对比

    2009-03-25 14:27:00
  • 为SWFUpload增加ASP版本的上传处理程序

    2011-04-28 08:01:00
  • 可以输入的下拉菜单

    2009-01-04 14:21:00
  • W3C优质网页小贴士(四)

    2008-04-17 13:34:00
  • asp如何实现网络打印?

    2010-05-24 18:31:00
  • 挑战! 纯Javascript 重现经典网游! <魔力宝贝>

    2008-10-04 10:37:00
  • asp 删除数据并同时删除图片的代码

    2011-02-28 10:39:00
  • 怎么检测到点击图片的左右位置 像QQ空间那样

    2008-10-04 10:45:00
  • 详细了解 MySQL锁机制

    2010-08-08 09:04:00
  • 一些CSS样式书写技巧

    2007-10-16 12:57:00
  • Dojo Style Javascript 编程规范

    2007-10-25 17:24:00
  • 2008年Logo设计10大趋势

    2008-02-28 13:06:00
  • div+css实现圆角边框

    2007-10-21 08:55:00
  • 如何把数据库记录显示到列表框里去?

    2009-11-06 13:48:00
  • Active Server Pages 错误 ASP 0201 修复方法

    2011-03-06 10:41:00
  • javascript对象概念大全

    2009-05-22 18:24:00
  • ASP分页显示Recordset数据

    2008-11-07 15:43:00
  • 如何处理Oracle中较大的文本数据?

    2009-11-11 20:06:00
  • asp之家 网络编程 m.aspxhome.com