谈中国站长站的文章干扰码实现方法(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)