我想知道如何使用Javascript來完成以下操作。用#符號將文本轉換爲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>
我將如何做呢?
我想知道如何使用Javascript來完成以下操作。用#符號將文本轉換爲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>
我將如何做呢?
我個人很喜歡這更好:
stringToMatch.replace(/(<a[^>]*)?#(\w+)(?!\w)(?!.*?<\/a>)/g,
function($0, $1, $2) {
return $1 ? $0 : '<a href="'+ window.location +'?q=' + $2 + '">#' + $2 + '</a>';
}
));
這將匹配一切,除了各個環節。看到這個example。
嘗試replace()
:
var test = '#test is a #cool #place';
var html = test.replace(/#(\w+)/g, '<a href="abc.html?q=$1">#$1</a>')
test = test.replace(/#([^ ]+)/g, '<a href="abc.html?q=$1">#$1</a>');
im confused .... –
這是可行的,但有點麻煩JS。如果您正在處理大量此類轉換,請考慮客戶端模板引擎,如[Jade](http://jade-lang.com)或[Handlebars](http://handlebarsjs.com)。 –
這應該是一個評論imo。 – Qtax