2016-05-18 228 views
-1

更換URLS我發現了以下功能:與超鏈接

function addHyperlinks(str) { 
    // Set the regex string 
    var regex = /(https?:\/\/([-\w\.]+)+(:\d+)?(\/([\w\/_\.]*(\?\S+)?)?)?)/ig 
    // Replace plain text links by hyperlinks 
    var replaced_text = str.replace(regex, "<a href='$1' target='_blank'>$1</a>"); 
    // Echo link 
    return replaced_text; 
} 

這工作好,但是當有URL中的破折號停止處理那裏。因此,例如,以下網址:

http://website.com/some-internet-page

將被替換爲:

<a href='http://website.com/some'>http://website.com/some</a>-internet-page

我不擅長用正則表達式,任何人都可以幫助修改上面的,這樣,這並不發生?

+1

試試這個/(https?:\/\/([-\w\-\.]+)+(:\d+)?(\//([\w\-\/_\.]* (\?\ S +)?)?)?)/ ig – Tonny

+0

@Tonny yay謝謝!如果你想把它作爲一個答案,我認爲它是正確的。 – Chud37

回答

1

@Tonny表示,在上述評論:

/(https?://([-\w-.]+)+(:\d+)?(/([\w-/_ 。] *(\?\ S +)?)?)?)/ ig

謝謝!