給字符串中的鏈接添加a標簽

假設我們有如下一段字符串,我們需要從中提取出鏈接并給它加上a標簽并重新返回整段字符串。

var str="urlPahttp://www.baidu.comrser.hostname我www.baidu.com家www.baidu.com哈ftp://www.baidu.com大https://www.baidu.com家";

那么我們可以用以下實現思路

// 匹配鏈接的正則表達式
var urlReg= /(http:\/\/|ftp:\/\/|https:\/\/|www.)[\w\-_]+(\.[\w\-_]+)+([\w\-\.,@?^=%&:/~\+#]*[\w\-\@?^=%&/~\+#])?/g;
var array = url.match(urlReg);
// 設置!!為臨時占位符
var rpStr = url.replace(urlReg,'!!')
function insertLink(el, i, arr) {
    //匹配協議,因為Vuejs會對href屬性自動加上' http:// ' 
    if(el.match('http://') || el.match('ftp://') || el.match('https://')) {
        // console.log('yes')
        var link = ('<a href=\"'+el+'\">'+el+'</a>');
    }else {
        // console.log('false')
        var link = ('<a href=\"http:\/\/'+el+'\">'+el+'</a>');
    }
    // console.log(rpStr)
    // console.log(links)
    // 將字符串里的!! 替換為link的內容并重新賦值給 rpStr 
    rpStr = rpStr.replace('!!',link)
    // console.log('result',rpStr)
    return rpStr
}
array.forEach(insertLink);
console.log(rpStr)
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • Spring Cloud為開發人員提供了快速構建分布式系統中一些常見模式的工具(例如配置管理,服務發現,斷路器,智...
    卡卡羅2017閱讀 134,967評論 19 139
  • 1. Java基礎部分 基礎部分的順序:基本語法,類相關的語法,內部類的語法,繼承相關的語法,異常的語法,線程的語...
    子非魚_t_閱讀 31,767評論 18 399
  • 弗爾南圖森特(Fernand Toussaint)1873年出生于布魯塞爾的一個富裕家庭。十五歲時在比利時學畫。三...
    油畫世界閱讀 309評論 0 0
  • 不知道為什么早上的時候就覺得胃很緊張,不知道為了什么緊張,心神不定,難受,憋屈
    小五家閱讀 189評論 0 0
  • GTD,是英文Getting Things Done的縮寫,是一種行為管理的方法,也是David Allen寫的一...
    waynedeng閱讀 868評論 0 8