替换文本中的URL为链接与替换指定内容js代码
下面来介绍关于替换文本中的URL为链接,有需要的同学可参考一下,将一个用户输入的一段文字中的url替换成可以点击的link地址,例如,https://www.xiariboke.net 可以替换成 [url]http://www.cctv.com[/url]
或<a href="http://www.cctv.com">http://www. </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地址。
测试一下:https://www.xiariboke.net紧接着中文,还有http://bbs.
is very good!http://!最后在看看带.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