最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

把文本中的URL地址轉換為可點擊鏈接的JavaScript、PHP自定義函數(shù)

 更新時間:2014年07月29日 10:21:12   投稿:junjie  
這篇文章主要介紹了把文本中的URL地址轉換為可點擊鏈接的JavaScript、PHP自定義函數(shù),需要的朋友可以參考下

這幾天在寫一個小程序的時候,需要用到正則表達式匹配用戶輸入文本中的URL地址,然后將URL地址替換成可以點擊的鏈接。URL地址的匹配,我想這應該是大家在做驗證處理中常會用到的,這里就把我整合的一個比較完整的表達式給出來:

復制代碼 代碼如下:

var URL = /(https?:\/\/|ftps?:\/\/)?((\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})(:[0-9]+)?|(localhost)(:[0-9]+)?|([\w]+\.)(\S+)(\w{2,4})(:[0-9]+)?)(\/?([\w#!:.?+=&%@!\-\/]+))?/ig;

這個表達式可以匹配 http,https,ftp,ftps以及IP地址的URL地址。還算是URL地址匹配計較完善的。利用這個表達式我寫了兩個小函數(shù),將用戶留言的URL地址替換成可點擊的鏈接,沒有什么太難的,就是利用JavaScript 的 replace() 函數(shù)來實現(xiàn)替換 URL 為 link:

JavaScript版:

復制代碼 代碼如下:

/**
 * JavaScrit 版本
 * 將URL地址轉化為完整的A標簽鏈接代碼
 */
var replaceURLToLink = function (text) {
        text = text.replace(URL, function (url) {
            var urlText = url;
            if (!url.match('^https?:\/\/')) {
                url = 'http://' + url;
            }
            return '' + urlText + '';
        });

        return text;
    };

PHP版:

復制代碼 代碼如下:

/**
 * PHP 版本 在 Silva 代碼的基礎上修改的
 * 將URL地址轉化為完整的A標簽鏈接代碼
 */
/** =============================================
 NAME        : replace_URLtolink()
 VERSION     : 1.0
 AUTHOR      : J de Silva
 DESCRIPTION : returns VOID; handles converting
 URLs into clickable links off a string.
 TYPE        : functions
 ============================================= */

function replace_URLtolink($text) {
    // grab anything that looks like a URL...
    $urls = array();
   
    // build the patterns
    $scheme = '(https?\:\/\/|ftps?\:\/\/)?';
    $www = '([\w]+\.)';
    $local = 'localhost';
    $ip = '(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})';
    $name = '([\w0-9]+)';
    $tld = '(\w{2,4})';
    $port = '(:[0-9]+)?';
    $the_rest = '(\/?([\w#!:.?+=&%@!\-\/]+))?';
    $pattern = $scheme.'('.$ip.$port.'|'.$www.$name.$tld.$port.'|'.$local.$port.')'.$the_rest;
    $pattern = '/'.$pattern.'/is';
   
    // Get the URLs
    $c = preg_match_all($pattern, $text, $m);
   
    if ($c) {
        $urls = $m[0];
    }
   
    // Replace all the URLs
    if (! empty($urls)) {
        foreach ($urls as $url) {
            $pos = strpos('http\:\/\/', $url);
           
            if (($pos && $pos != 0) || !$pos) {
                $fullurl = 'http://'.$url;
            } else {
                $fullurl = $url;
            }
           
            $link = ''.$url.'';
           
            $text = str_replace($url, $link, $text);
        }
    }
   
    return $text;
}

相關文章

  • Javascript 解疑

    Javascript 解疑

    Javascript 解疑,需要的朋友可以參考下。
    2009-11-11
  • JavaScript惰性加載的優(yōu)化技巧詳解

    JavaScript惰性加載的優(yōu)化技巧詳解

    這篇文章主要為大家詳細介紹了JavaScript在進行惰性加載時的一些優(yōu)化技巧,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-04-04
  • 原生微信小程序開發(fā)中 redux 的使用詳解

    原生微信小程序開發(fā)中 redux 的使用詳解

    這篇文章主要介紹了原生微信小程序開發(fā)中 redux 的使用詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-02-02
  • JavaScript中獲取DOM元素的方法小結

    JavaScript中獲取DOM元素的方法小結

    這篇文章主要為大家詳細介紹了JavaScript中獲取DOM元素的各種方法,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-10-10
  • 微信小程序使用canvas自適應屏幕畫海報并保存圖片功能

    微信小程序使用canvas自適應屏幕畫海報并保存圖片功能

    這篇文章主要介紹了小程序使用canvas自適應屏幕畫海報并保存圖片功能,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • 詳談javascript中DOM的基本屬性

    詳談javascript中DOM的基本屬性

    DOM節(jié)點是一個對象,它有著一些屬性。其中有些是只讀的,有些可以直接進行更改(updated on-the-fly)。今天我們就來具體探討下DOM的基本屬性,希望對大家能有所幫助
    2015-02-02
  • js中文逗號轉英文實現(xiàn)

    js中文逗號轉英文實現(xiàn)

    中文逗號如何轉英文,下面為大家詳細介紹下,感興趣的朋友不要錯過
    2014-02-02
  • JavaScript 一行代碼,輕松搞定浮動快捷留言-V2升級版

    JavaScript 一行代碼,輕松搞定浮動快捷留言-V2升級版

    前天熬了大半宿發(fā)了一篇[一行代碼輕松搞定快捷留言功能],同時發(fā)布了V1.0beta版的快捷留言功能和源代碼,之所以是beta版,就是當時感覺雖然基本功能有了,但是還不夠完善,特性也不一定合理
    2010-04-04
  • JS正則表達式判斷有效數(shù)實例代碼

    JS正則表達式判斷有效數(shù)實例代碼

    這篇文章主要介紹了JS正則表達式判斷有效數(shù)實例代碼,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • 在JavaScript中使用timer示例

    在JavaScript中使用timer示例

    這篇文章主要介紹了在JavaScript中如何使用timer,并給出各種測試case的例子,需要的朋友可以參考下
    2014-05-05

最新評論

马山县| 五大连池市| 石阡县| 惠安县| 灵宝市| 方正县| 浪卡子县| 孟州市| 新兴县| 柏乡县| 永新县| 张家口市| 台南市| 广河县| 蓬安县| 绵阳市| 昔阳县| 峨眉山市| 泰和县| 绥棱县| 丰都县| 武城县| 昌图县| 仁怀市| 通海县| 德钦县| 长丰县| 巨野县| 康保县| 东乡县| 泰顺县| 安化县| 商水县| 余庆县| 城口县| 尤溪县| 肃南| 黄山市| 炉霍县| 东宁县| 平武县|