Javascrip通过正则实现微博的话题和@功能示例

回到相关文章 »

代码:

JS代码:
  1. //话题替换增加连接   
  2. function ReplaceTopic(str){   
  3.     var r, k;   // 声明变量。   
  4.     var ss = str;   
  5.     r=ss.replace(/\#([^\#|.]+)\#/g, function(word){   
  6.         k = encodeURI(word.replace(/\#/g,""));   
  7.         return "<a href=\"s/?a=weibo&k="+ k +"\">" + word + "</a>";   
  8.         }   
  9.     );   
  10.     return(r);  //返回替换后的字符串   
  11. }   
  12.   
  13. //@替换增加连接   
  14. function ReplaceAt(str){   
  15.     var r, k  // 声明变量。   
  16.     var ss = str;   
  17.     r=ss.replace(/\@([^\@|.|^ ]+)/g, function(word){   
  18.         k = encodeURI(word.replace(/\@/g,""));   
  19.         return "<a href=\"n/?a=user&k="+ k +"\" usercard=\"name="+ k +"\">" + word + "</a>";   
  20.         }   
  21.     );   
  22.     return(r);  //返回替换后的字符串    
  23. }   
  24.   
  25. //输出   
  26. document.write(ReplaceAt(ReplaceTopic("<p>1.类似新浪微博的#话题功能#和@会员 功能的实现</p>")));   
  27. document.write(ReplaceAt(ReplaceTopic("<p>2.类似新浪微博的#话题功能#和@会员 功能的实现,可以有多个#不同的话题#和多个不同的@rockyxia @you 哦</p>")));  

效果: