[英]linkify multiple hashtags with no space using javascript regex
我目前正在使用正则表达式像这样链接标签:
var text = "#sun #summer";
text = text.replace(/(^|\s)#(\S+)/g, '$1<a href="/$2">#$2</a>');
输出:
"#<a href="/sun">sun</a> #<a href="/summer">summer</a>"
这可以正常工作,但有时人们在#号标签之间添加空格,因此如下所示: "#sun#summer"
如何链接这种没有空格的主题标签?
我尝试了这个:
var text = "#sun#summer";
text = text.replace(/(^|.)#(.|\S+)/g, '$1<a href="/$2">#$2</a>');
输出:
"<a href="/s">#s</a>un<a href="/s">#s</a>ummer"
但只能在#
之后使用一个字符
var text = "#sun#summer";
text.replace(/#([^\s#]+)/g, '<a href="/$1">#$1</a>');
# => "<a href="/sun">#sun</a><a href="/summer">#summer</a>"
对于第二个,您可以尝试以下正则表达式,
(^|\b)#([^#]+)
您的代码是
> var str = '#sun#summer';
> str.replace(/(^|\b)#([^#]+)/g, '$1<a href="/$2">#$2</a>');
'<a href="/sun">#sun</a><a href="/summer">#summer</a>'
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.