在字符串中随机插入字符串

规则在字符串str中间插入一个字符串strs="abcd",使得字符串strs不在任意标签(如:"<img>"、"<a>"、"<strong>"、"<p>"、"</p>"等等)的“<”和“>”之间。
使用ASP实现例子如下:

Code:
  1. str="gdfgdggd<p>A:好无聊啊……我给你讲笑话吧!</p><p align=""center""><img src=""images/a.gif"" alt="""" border=""0""/></p><p>A:有一回,土豆和年糕打架,土豆很生气,一脚就把年糕踢到海里了。</p><p>Q:哦……然后呢?</p><p>A:讲完了阿,下面讲第二个。</p><p>Q(欲哭无泪啊……)</p><p>A:从前有一对<a href=""#"">恋人</a>,在他们决定结婚的时候,那男生需要服兵役。他们便到了海边,说好三年后的这一天在海边相见,男孩并给了女孩一枚戒指作为婚戒。可是,三年过去了,那女孩并没有等到男孩,她很伤心,便把戒指丢进了大海里。其实是女孩误解了约会地点,男孩一直在等她。可是就这样错过了,成为了遗憾。男孩也很伤心,便决定住在海边等女孩。有一天他出去打鱼,你猜他打到了什么?。</p><p>Q:戒指吗?</p><p>A:不是拉!是年糕阿!哈哈哈哈哈…………</p><p>Q:真冷啊……</p><p align=""center""><img src=""images/b.gif"" alt="""" border=""0""/></p><p>A:还是那对恋人。有一天男孩听说女孩要<a href=""#"">结婚</a>了,十分伤心,便把自己那枚婚戒也丢进了海里。几天后,他打了一条鱼吃。刚夹了一口鱼,便咬到一个很硬的东西,吐出来一看,你猜他看到了什么</p><p>Q:<strong>戒指</strong>吗?</p><p>A:不是!</p><p>Q:年糕吗?</p><p>A:哈,怎么会是年糕呢。</p><p align=""center""><img src=""images/c.gif"" alt="""" border=""0""/></p><p>Q:那是什么?</p><p>A:鱼骨头呗!</p><p>终于Q挺不住了,感冒了一个多礼拜……</p>"  
  2. Dim regEx, Match, Matches '建立变量。    
  3. Set regEx = New RegExp '建立正则表达式。    
  4. regEx.Pattern = "(?:<[^<>]+>)" '设置模式。    
  5. regEx.IgnoreCase = true '设置是否区分字符大小写。    
  6. regEx.Global = True '设置全局可用性。    
  7. Set Matches = regEx.Execute(str) '执行搜索。Matches(1).SubMatches(0)   
  8. znum=Matches.count   
  9. Randomize    
  10. RndNumber=int((znum+1)*rnd)   
  11. i=0   
  12. RetStr=""  
  13. For Each Match in Matches '遍历匹配集合。   
  14. if i=RndNumber then   
  15. str=mid(str,1,Match.FirstIndex)"<font color='red'>"&b"</font>"&mid(str,Match.FirstIndex+1,len(str))   
  16. exit for   
  17. end if   
  18. i=i+1   
  19. Next    
  20. response.Write str  

缺陷:不能用table表格
不然会有问题,因为可能会插在table之间或者tr之间,而不一定在td之间了

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一把编程的菜刀

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值