簡體   English   中英

查找並轉換所有字符串以http&https開頭並轉換為鏈接

[英]Find and convert all strings starts with http & https and convert into links

是否有可能找到所有字符串以段落中的http和https開頭並使用jquery轉換為鏈接?

我在我的網站上得到了我的twitt列表,所有行都以http&https顯示為正常字符串[text]。 我想將它們轉換為超鏈接。 這可能與javascript,jQuery。

以下是檢查字符串中的URL並將其轉換為鏈接的代碼。 這將檢測以WWW開頭的鏈接。 希望這會有所幫助。

function Checkurl(text) {
        var url1 = /(^|<|\s)(www\..+?\..+?)(\s|>|$)/g,
        url2 = /(^|<|\s)(((https?|ftp):\/\/|mailto:).+?)(\s|>|$)/g;

        var html = $.trim(text);
        if (html) {
            html = html
                .replace(url1, '$1<a style="color:blue; text-decoration:underline;" target="_blank"  href="http://$2">$2</a>$3')
                .replace(url2, '$1<a style="color:blue; text-decoration:underline;" target="_blank"  href="$2">$2</a>$5');
        }
        return html;
    }

像這樣的東西?

$(document).ready(function() {
   var linkable_content = $('div#linkable').html().replace(/(https?:\/\/[^ ;|\\*'"!,()<>]+\/?)/g,'<a href="$1">$1</a>');
    $('div#linkable').html(linkable_content);
});

資料來源: http//tangible.ca/articles/44/snippet-jquery-linkifier

來自jQuery WikiText插件的以下實用程序函數將起作用:

function findUrls( text )
{
    var source = (text || '').toString();
    var urlArray = [];
    var url;
    var matchArray;

    // Regular expression to find FTP, HTTP(S) and email URLs.
    var regexToken = /(((ftp|https?):\/\/)[\-\w@:%_\+.~#?,&\/\/=]+)|((mailto:)?[_.\w-]+@([\w][\w\-]+\.)+[a-zA-Z]{2,3})/g;

    // Iterate through any URLs in the text.
    while( (matchArray = regexToken.exec( source )) !== null )
    {
        var token = matchArray[0];
        urlArray.push( token );
    }

    return urlArray;
}

JSFiddle在這里

我希望這有幫助!

暫無
暫無

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

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