我想知道如何使用Javascript进行以下操作。
假设我有类似以下的文字
var test = '#test is a #cool #place';
我想要以下
<a href="abc.html?q=test">#test</a> is a <a href="abc.html?q=cool">#cool</a> <a href="abc.html?q=place">#place</a>
我该怎么做?
答案 0 :(得分:5)
尝试replace()
:
var test = '#test is a #cool #place';
var html = test.replace(/#(\w+)/g, '<a href="abc.html?q=$1">#$1</a>')
答案 1 :(得分:0)
test = test.replace(/#([^ ]+)/g, '<a href="abc.html?q=$1">#$1</a>');
答案 2 :(得分:0)
我个人更喜欢这个:
stringToMatch.replace(/(<a[^>]*)?#(\w+)(?!\w)(?!.*?<\/a>)/g,
function($0, $1, $2) {
return $1 ? $0 : '<a href="'+ window.location +'?q=' + $2 + '">#' + $2 + '</a>';
}
));
这将匹配除其他链接之外的所有内容。请参阅此example。