var theText='Ohhhh #ohhh #oh #ohh #ohhhh ohhh oh'
我想要实现的是每个带有井号/标签的“哦”将被链接替换。
我想要实现的目标:
"Ohhh <a href='/'>#ohhh</a>
<a href='/'>#oh</a>
<a href='/'>#ohh</a>
<a href='/'>#ohhhh</a>
ohhh oh
答案 0 :(得分:1)
尝试下面的代码段
var s = "Ohhhh #ohhh #oh #ohh #ohhhh ohhh oh";
var p = /(#[^\s]+)/g;
s.replace(p, "<a href='/'>$1</a>");
输出:
"Ohhhh <a href='/'>#ohhh</a> <a href='/'>#oh</a> <a href='/'>#ohh</a> <a href='/'>#ohhhh</a> ohhh oh"
答案 1 :(得分:0)
我使用map
本机函数获得了一些东西,如bellow。
var theText='Ohhhh #ohhh #oh #ohh #ohhhh ohhh oh';
var words = theText.split(' ');
var newWords = words.map(function(part){
if(part.indexOf('#')==0)
return "<a href='/'>"+part+"</a>\n"; //\n is because you want line breaks in those words
else
return part+" ";
});
var newText = newWords.join('');
console.log(newText);
如果您想在HTML
中使用它,可以在<br>
处使用\n
。
注意: - map
不能在IE8上工作,你必须使用一些库。