2014-05-07 60 views
0
<script> 
function myClick(){ 
text = "<b><i>this is my text, THIS NEEDS TO BE A HYPERLINK </i></b>"; 
document.getElementById('heading1').innerHTML = document.getElementById('heading1').innerHTML + text; 
document.getElementById("heading1").style.textAlign="left"; 
document.getElementById("heading1").style.marginLeft="5px"; 

} 
</script> 

我只想要大寫字母是超鏈接,它看起來很容易,但我無法在網上找到答案。 (-.-)如何從文本中提取一個詞並將其轉化爲鏈接?

+0

將文本總是在所有大寫? – bsoist

+0

你自己寫文本,你只需要自動化它,或者你解析一些HTML? –

+0

即時通訊不是一個大的JavaScript傢伙,所以我想合併一些HTML,使其超鏈接。順便說一下,這不是真正的文本,只是一個例子。在實際的文本中,我只想讓一個單詞成爲一個超鏈接。 – user3612995

回答

0

像這樣的事情會做

var text = "<b><i>this is my text, THIS NEEDS TO BE A HYPERLINK </i></b>"; 
// Regex matching only uppercase letters and whitespaces where there 
// have to be at least 2 in a row to match 
var match = text.match(/[A-Z\s]{2,}/); 
if (match && match.length) { 
    match.forEach(function (str) { 
    text = text.replace(str, '<a href="http://google.com/q=regex">' + str + '</a>'); 
    }); 
} 

編輯: 當你想只替換一個字可以省略\ S組中的正則表達式: 此正則表達式仍然匹配至少要有兩個大寫字母,以防止大寫字母或名稱被誤檢。

var match = text.match(/[A-Z]{2,}/); 
相關問題