在字符串中隨機插入字符串

規則在字符串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之間了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章