【发布时间】:2010-10-17 02:28:55
【问题描述】:
我知道这里已经讨论过这个问题,但没有针对具体问题提供解决方案。请看一下...
我正在使用一个函数将纯文本 URL 转换为可点击的链接。这就是我所拥有的:
<script type='text/javascript' language='javascript'>
window.onload = autolink;
function autolink(text) {
var exp = /(\b(https?|ftp):\/\/[-A-Z0-9+&@#\/%?=~_|!:,.;]*[-A-Z0-9+&@#\/%=~_|])/gim;
document.body.innerHTML = document.body.innerHTML.replace(exp,"<a href='$1'>$1</a>");
}
</script>
这让
https://stackoverflow.com/
看起来像:
它可以工作,但也可以用嵌套链接替换现有的 HTML 链接。
所以,一个有效的 HTML 链接像
<a href="https://stackoverflow.com/">StackOverflow</a>
变得像这样乱七八糟:
<a href="https://stackoverflow.com/<a href="https://stackoverflow.com/">StackOverflow</a>">StackOverflow</a>...
如何修复表达式以忽略链接标签的内容?谢谢!
我是新手...我几乎不懂正则表达式代码。请温柔 :) 再次感谢。
【问题讨论】:
标签: javascript regex