js怎么替换字符串中所有中文连接为url编码 本帖最后由 zcyzzzm 于 2009-11-08 12:28:15 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <body> <div id="div1"> <A href="http://www.baidu.com.sczx89.com/s?wd=高圆圆" target=_blank>高圆圆 </A>| <A href="http://www.baidu.com.sczx89.com/s?wd=李小璐">李小璐 </A>| <A href="http://www.baidu.com.sczx89.com/s?wd=赵薇" target=_blank>赵薇 </A>| <A href="http://www.baidu.com.sczx89.com/s?wd=叶子楣" target=_blank>叶子楣 </A>| <A href="http://www.baidu.com.sczx89.com/s?wd=瑶瑶">瑶瑶 </A>| <A href="http://www.baidu.com.sczx89.com/s?wd=温碧霞" target=_blank>温碧霞 </A>|</body><script type="text/javascript">var g=function(id) {return document.getElementById(id);};var links=document.links;//如果只转换一部分则使用element.getElementsByTagName("a");,如果是个字符串可以将其插入到一个div中来替换,然后再取其innerHTMLvar len=links.length;for(var i=0;i<len;i++) { var cur=links[i]; cur.href=cur.href.replace(/[\u4e00-\u9fa5]/g,function($1){ return escape($1);//试了这三种编码方式好像都有问题,反而不编码可以正常搜索 //return encodeURI($1); //return encodeURIComponent($1); }); if(!cur.target) cur.target="_blank";}</script></html> sohighthesky 大哥,如何编译回原来的值呢? function zhuanhuan(str){ return str.replace(/href=(?:"([^"]*)"|'([^']*)'|(\S+))/gi, function($0, $1, $2, $3) { return 'href="' + encodeURI($1 || $2 || $3) + '"' }).replace(/<a\b(?=((?!target=).)*>)/ig, function($0) { return $0 + " target='_blank'"; });} replace(/<a\b(?=((?!target=).)*>)/ig, function($0)这里会不会有些问题,“判断有没有“target=”,如果没有添加 target=_blank ”好像不行 怎么会不行,测试了没问题.function zhuanhuan(str) { return str.replace(/href=(?:"([^"]*)"|'([^']*)'|(\S+))/gi, function($0, $1, $2, $3) { return 'href="' + encodeURI($1 || $2 || $3) + '"' }).replace(/<a\b(?=((?!target=).)*>)/ig, "$& target='_blank'"); // 简化一下} 另外希望再帮忙修改一下var sss='<a href="http://www.baidu.com.sczx89.com/s?wd=顾长卫车震">顾长卫车震</a>|<div align=center><a href=/html/xinwenkuaixun_485_144_2.html>下一页</a>'就是说外部链接,“判断有没有“target=”,如果没有添加 target=_blank ”内部链接则不对 target进行处理(如下一页这样的链接则不管target),请问怎么写一下啊 function zhuanhuan(str) { return str.replace(/href=(?:"([^"]*)"|'([^']*)'|(\S+))/gi, function($0, $1, $2, $3) { return 'href="' + encodeURI($1 || $2 || $3) + '"' }).replace(/<a\b(?=((?!target=).)*>)(?=[^>]*href=["']?http:\/\/)/ig, "$& target='_blank'");} 求一个javascript的正则,用于实现HTML页面上的文本框的输入限制 extjs 如何修改GridPanel RowSelectModel默认选中行的颜色 B/S结构,开发QA系统!求助!!!高手请留步! js脚本程序关闭当前浏览器 如何使用js实现rar压缩文件时“后台”执行? 求教!如何使用正则表达式提取网页中的主体内容? 新手求助!!sos! 如何判断是否有某一ID?? 求正则表达式 这两句是什么意思? $(function()) 什么意思 怎么获得columntree点击的那个树节点的值啊?请各位帮帮忙
<body>
<div id="div1">
<A href="http://www.baidu.com.sczx89.com/s?wd=高圆圆" target=_blank>高圆圆 </A>| <A href="http://www.baidu.com.sczx89.com/s?wd=李小璐">李小璐 </A>| <A href="http://www.baidu.com.sczx89.com/s?wd=赵薇" target=_blank>赵薇 </A>| <A href="http://www.baidu.com.sczx89.com/s?wd=叶子楣" target=_blank>叶子楣 </A>| <A href="http://www.baidu.com.sczx89.com/s?wd=瑶瑶">瑶瑶 </A>| <A href="http://www.baidu.com.sczx89.com/s?wd=温碧霞" target=_blank>温碧霞 </A>|
</body>
<script type="text/javascript">
var g=function(id) {return document.getElementById(id);};
var links=document.links;//如果只转换一部分则使用element.getElementsByTagName("a");,如果是个字符串可以将其插入到一个div中来替换,然后再取其innerHTML
var len=links.length;
for(var i=0;i<len;i++) {
var cur=links[i];
cur.href=cur.href.replace(/[\u4e00-\u9fa5]/g,function($1){
return escape($1);//试了这三种编码方式好像都有问题,反而不编码可以正常搜索
//return encodeURI($1);
//return encodeURIComponent($1);
});
if(!cur.target)
cur.target="_blank";
}
</script>
</html>
return str.replace(/href=(?:"([^"]*)"|'([^']*)'|(\S+))/gi, function($0, $1, $2, $3) {
return 'href="' + encodeURI($1 || $2 || $3) + '"'
}).replace(/<a\b(?=((?!target=).)*>)/ig, function($0) {
return $0 + " target='_blank'";
});
}
return str.replace(/href=(?:"([^"]*)"|'([^']*)'|(\S+))/gi, function($0, $1, $2, $3) {
return 'href="' + encodeURI($1 || $2 || $3) + '"'
}).replace(/<a\b(?=((?!target=).)*>)/ig, "$& target='_blank'"); // 简化一下
}
return str.replace(/href=(?:"([^"]*)"|'([^']*)'|(\S+))/gi, function($0, $1, $2, $3) {
return 'href="' + encodeURI($1 || $2 || $3) + '"'
}).replace(/<a\b(?=((?!target=).)*>)(?=[^>]*href=["']?http:\/\/)/ig, "$& target='_blank'");
}