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

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

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

這幾天在寫一個(gè)小程序的時(shí)候,需要用到正則表達(dá)式匹配用戶輸入文本中的URL地址,然后將URL地址替換成可以點(diǎn)擊的鏈接。URL地址的匹配,我想這應(yīng)該是大家在做驗(yàn)證處理中常會(huì)用到的,這里就把我整合的一個(gè)比較完整的表達(dá)式給出來(lái):

復(fù)制代碼 代碼如下:

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;

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

JavaScript版:

復(fù)制代碼 代碼如下:

/**
 * JavaScrit 版本
 * 將URL地址轉(zhuǎn)化為完整的A標(biāo)簽鏈接代碼
 */
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版:

復(fù)制代碼 代碼如下:

/**
 * PHP 版本 在 Silva 代碼的基礎(chǔ)上修改的
 * 將URL地址轉(zhuǎn)化為完整的A標(biāo)簽鏈接代碼
 */
/** =============================================
 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;
}

相關(guān)文章

  • Javascript 解疑

    Javascript 解疑

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

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

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

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

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

    JavaScript中獲取DOM元素的方法小結(jié)

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

    微信小程序使用canvas自適應(yīng)屏幕畫海報(bào)并保存圖片功能

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

    詳談javascript中DOM的基本屬性

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

    js中文逗號(hào)轉(zhuǎn)英文實(shí)現(xiàn)

    中文逗號(hào)如何轉(zhuǎn)英文,下面為大家詳細(xì)介紹下,感興趣的朋友不要錯(cuò)過(guò)
    2014-02-02
  • JavaScript 一行代碼,輕松搞定浮動(dòng)快捷留言-V2升級(jí)版

    JavaScript 一行代碼,輕松搞定浮動(dòng)快捷留言-V2升級(jí)版

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

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

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

    在JavaScript中使用timer示例

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

最新評(píng)論

平度市| 呈贡县| 宜都市| 罗平县| 山东省| 河曲县| 常德市| 墨竹工卡县| 六安市| 当涂县| 昆明市| 道孚县| 松滋市| 玉山县| 崇阳县| 息烽县| 蓬莱市| 黎城县| 绩溪县| 应城市| 陆丰市| 色达县| 西丰县| 浦东新区| 湖南省| 丰都县| 兴安县| 邛崃市| 林口县| 二连浩特市| 新昌县| 平湖市| 册亨县| 游戏| 库车县| 莎车县| 普兰店市| 错那县| 仁化县| 芦溪县| 乐东|