2012-05-04 53 views
0

比方說,我有一些HTML:在JavaScript中,將標記轉化爲鏈接的最有效方法是什麼?

Hello, I'm a #robot and this is my #home. 

我怎樣才能把它變成:

Hello, I'm a <a href="blah.com/robot" class="tag">#robot</a> and this is my <a href="blah.com/home" class="tag">#home</a> 

我使用JQuery通過遍歷每個單詞和做一個查找/替換嘗試,但它非常昂貴。什麼是更好的方法來做到這一點?

+0

線索:正則表達式可能是一個解決方案! – sp00m

+0

需要正則表達式。我最近做了一些事情,但我特別有興趣分享我的代碼。你在做什麼項目? – alt

+0

文本從哪裏來?從服務器?爲什麼這種格式? –

回答

5

以下是你可以用一個鏈接來代替哈希符號的代碼。隨時用它進行實驗,並發表評論任何問題,你可能有:)

var text = "Hello, I'm a #robot and this is my #home."; 

alert(text.replace(/#([a-z0-9]+)/gi, '<a href="blah.com/$1">#$1</a>')); 

// It alerts the following "Hello, I'm a <a href="blah.com/robot">#robot</a> and this is my <a href="blah.com/home">#home</a>." 
-2

jQuery不適用於純文本操作。我想這裏最好的選擇是在服務器端做這樣的改變。如果不可能,一個簡單的查找/替換就可以做到這一點,在這種情況下,jQuery可以用來遍歷一些包含這個HTML的元素,使得訪問更容易。

HTH

相關問題