用javascript正则实现微博的话题和@功能

xjh524205438 2012-04-19 10:57:06
@功能

<script type="text/javascript">
var r, re; // 声明变量。
var ss = "sd士大@夫@苏丹 der 红 山东ss省@s dhf";
r = ss;
re = /\@([^\@|.|^ ]+)/g;
reg = new RegExp("\@([^\@|.|^ ]+)", "ig") // 创建正则对象
if((result = reg.exec(ss)) !=null){
r = ss.replace(re, "<a href=\"s/?a=weibo&k="+ result[1] +"\">"+result[0]+"</a>");
}else{
r = ss;
}
document.writeln(r); //返回替换后的字符串
</script>


话题功能

function ReplaceTopic(str){
var r, re; // 声明变量。
var ss = str;
r = ss;
re = /\#([^\#|.]+)\#/g;
reg = new RegExp("\#([^\#|.]+)\#", "ig") // 创建正则对象
if((result = reg.exec(ss)) !=null){
r = ss.replace(re, "<a href=\""+weibopath +"s/?a=weibo&k="+ result[1] +"\">"+result[0]+"</a>");
}
return(r); //返回替换后的字符串
}


这两个已经可以找到所有的话题和@了
但是如何实现逐个替换呢

请指导一下哈
...全文
863 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
shusheng1997 2012-04-19
  • 打赏
  • 举报
回复
楼主是个好人。。。
xjh524205438 2012-04-19
  • 打赏
  • 举报
回复

//话题替换增加连接
var weibopath = "/weibo/"
function ReplaceTopic(str){
var r, re; // 声明变量。
var ss = str;
//r = ss;
//re = /\#([^\#|.]+)\#/g;
//reg = new RegExp("\#([^\#|.]+)\#", "ig") // 创建正则对象
//if((result = reg.exec(ss)) !=null){
// r = ss.replace(re, "<a href=\""+weibopath +"s/?a=weibo&k="+ result[1] +"\">"+result[0]+"</a>");
//}
r=ss.replace(/\#([^\#|.]+)\#/g, function(word){
return "<a href=\""+weibopath +"s/?a=weibo&k="+ word +"\">" + word + "</a>";}
);
return(r); //返回替换后的字符串
}

//@替换增加连接
function ReplaceAt(str){
var r, re; // 声明变量。
var ss = str;
r=ss.replace(/\@([^\@|.|^ ]+)/g, function(word){
return "<a href=\""+ word +"\">" + word + "</a>";}
);
return(r); //返回替换后的字符串
}


已经搞出来了

大家分享一下
xjh524205438 2012-04-19
  • 打赏
  • 举报
回复
现在的只能把所有的匹配到的内容替换成同样的

如何实现逐个的替换呢

87,994

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧