我有这样的数据,
var str = "#data time #city";
我的目标是将其作为
var str = <a src="www.test/data">#data</a> time <a src="www.test/city">city</a>
我的意思是在我的字符串中,我发现#下一个值,即数据应该设置为链接www.test / {{param}}的参数,并且应该用链接包围。可以任何建议帮助。感谢。
答案 0 :(得分:4)
对于这种情况,String.replace() function会对您有所帮助:
var str = "#data time #city"
str = str.replace(/#(\S+)/g, '<a href="#$1">#$1</a>')
output.textContent = str
clickable.innerHTML = str
#output { font-family: courier }
<div id="output"></div>
<div id="clickable"></div>
答案 1 :(得分:0)
以下代码将您的数据转换为预期的输出。 document.write(..)用于调试。
var data='#data time #city';
var hashtags = data.match(/#\S+/g);
document.write('before: ' + data + '</br>');
for (j = 0; j < hashtags.length; j++) {
// remove # from hashtag
var tag = hashtags[j].substring(1, hashtags[j].length);
// create the link
var link = '< a src="www.test/' + tag + '>#' + tag + '< / a > ';
// replace hashtag with link
data=data.replace(hashtags[j], link);
}
document.write('after: ' + data);
&#13;