龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > web编程 > Javascript编程 >

替换文本中的URL为链接与替换指定内容js代码

时间:2012-12-29 08:41来源:未知 作者:admin 点击:
分享到:
下面来介绍关于替换文本中的URL为链接,有需要的同学可参考一下。 将一个用户输入的一段文字中的url替换成可以点击的link地址。例如:http://www.111cn.net可以替换成 [url]http://www.cctv.co
下面来介绍关于替换文本中的URL为链接,有需要的同学可参考一下。

将一个用户输入的一段文字中的url替换成可以点击的link地址。例如:http://www.111cn.net可以替换成 [url]http://www.cctv.com[/url]

或<a href="http://www.cctv.com">http://www. blueidea.com</a>.

这个正则的关键就在于匹配链接,匹配之后,在两边加上a标签和属性不是问题。

 /http://[w-]*(.[w-]*)+/ig 首先匹配http://。

[w-]*是可能的www和bbs等。

.[w-]*匹配.xxx形式,至少有一个。

测试代码如下:

 代码如下

 <script type="text/javascript">
 function replaceReg(reg,str){
  return str.replace(reg,function(m){return '<a href="'+m+'">'+m+'</a>';})
 }
 var reg = /http://[w-]*(.[w-]*)+/ig;
 var str = '将一个用户输入的一段文字中的url替换成可以点击的link地址。
测试一下:http://www.111cn.net紧接着中文,还有http://bbs.blueidea.com
is very good!http://blueidea.com!最后在看看带.cn的:http://www.sina.com.cn呵呵。';
 document.write(replaceReg(reg,str)+'<br />');
 </script>

从HTML代码段删除指定标签极其内容
来源:关于正则的问题

在一段代码中去除<script ...... /script>, <head>...</head>,<%.....%>等代码块

隆的正则:

 代码如下

 /<(script|meta|%)[sS]*?/(script|meta|%)>/ 试了一下,匹配如下文本正常:

 <script type="text/javascript">
 我是要被删除的脚本
 </script>

 哎。就剩下我了。 但是,如果使用类似的正则:

 代码如下

 /<(script|head|%)[sS]*?/(script|head|%)>/ig 匹配有嵌套的标签:

 <head>
 <script type="text/javascript">
 我是要被删除的脚本
 </script>
 </head>
 哎。就剩下我了。 实际匹配的内容是:

 <head>
 <script type="text/javascript">
 我是要被删除的脚本
 </script>

 这是因为[sS]*?里的非贪婪造成的。可以使用JavaScript正则里的反向引用来解决这个问题,如果起始标签匹配了head,那么结束标签也必须是head。最后的正则如下:

 代码如下

 /<(script|head|%)[sS]*?/1>/ig


精彩图集

赞助商链接