簡體   English   中英

使用JavaScript從字符串中提取網址

[英]Extract urls from string with JavaScript

我正在使用fb為例的鏈接預覽腳本。 用戶創建的帖子可能包含鏈接。 在每個鍵盤上,我測試最后一個鍵是否為空格鍵,如果是這種情況,我運行我的函數:

function link_preview(event)
{
    var replyText = $("#answer_two").val();

    if(event.keyCode == 32)
    {
        var match = /^(?:[a-z]*?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/i.exec(replyText);

        if(match!="")
        {

            var preview = match[0];
        }
    }
}

因此,用戶鍵入包含鏈接的文本。 當檢測到鏈接時,將顯示一個預覽,其中包含從此url中獲取的信息。 用戶可以選擇關閉此預覽並添加另一個鏈接,而這正是我遇到的問題所在。 我無法訪問第二個URL,而忽略第一個。 如果將第三個網址添加到組合中,所有這些將變得更加復雜。 有沒有人建議如何工作?

您是否嘗試過將全局參數添加到正則表達式末尾的“ i”旁邊的“ g”正則表達式中,所以它看起來像:

/^(?:[az]*?:\\/\\/)?([\\da-z\\.-]+)\\.([az\\.]{2,6})([\\/\\w \\.-]*)*\\/?$/gi

在這種情況下,您將需要在一個字符串中遍歷多個匹配項。

實際修復中的參考: http : //jsfiddle.net/ps1rf1uw

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM