JavaScript:链接网址,但从显示的链接文本中删除“http://”

JavaScript: Link URLs but remove 'http://' from displayed link text

本文关键字:链接 删除 http 文本 显示 JavaScript      更新时间:2023-09-26

在JavaScript正则表达式中,如何转动例如

Check out http://example.com/foobar#123

Check out <a href="http://example.com/foobar#123">example.com/foobar#123</a>

谢谢!

使用此替换调用:

s = 'Check out http://example.com/foobar#123';
repl = s.replace(/(https?:'/'/('S+))/i, "<a href='$1'>$2</a>");
//=> Check out <a href='http://example.com/foobar#123'>example.com/foobar#123</a>

假设str是包含该文本的字符串,这是捕获组的简单用法:

str = str.replace(/(http:'/'/)([^ ]+)/g, '<a href="$1$2">$2</a>');

当然,这假设文本中已经没有任何链接标签,因为如果有的话会搞砸它们。仅在标记文本中的标记之外执行此操作并非易事(并且仅使用单个正则表达式无法绝对可靠地完成此操作,您必须解析)。