首页 web前端 js教程 把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数_javascript技巧

把文本中的URL地址转换为可点击链接的JavaScript、PHP自定义函数_javascript技巧

May 16, 2016 pm 04:40 PM
javascript函数 php函数

这几天在写一个小程序的时候,需要用到正则表达式匹配用户输入文本中的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地址匹配计较完善的。利用这个表达式我写了两个小函数,将用户留言的URL地址替换成可点击的链接,没有什么太难的,就是利用JavaScript 的 replace() 函数来实现替换 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;
}

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何通过php函数优化图片懒加载效果? 如何通过php函数优化图片懒加载效果? Oct 05, 2023 pm 12:13 PM

如何通过PHP函数优化图片懒加载效果?随着互联网的发展,网页中的图片数量越来越多,这给页面加载速度带来了压力。为了提高用户体验,减少加载时间,我们可以采用图片懒加载技术。图片懒加载可以延迟图片的加载,只有当用户滚动到可视区域时才加载图片,这样可以减少页面的加载时间,提升用户体验。在编写PHP网页时,我们可以通过编写一些函数来优化图片懒加载效果。下面详

JavaScript函数异步编程:处理复杂任务的必备技巧 JavaScript函数异步编程:处理复杂任务的必备技巧 Nov 18, 2023 am 10:06 AM

JavaScript函数异步编程:处理复杂任务的必备技巧引言:在现代前端开发中,处理复杂任务已经成为了必不可少的一部分。而JavaScript函数异步编程技巧则是解决这些复杂任务的关键。本文将介绍JavaScript函数异步编程的基本概念和常用的实践方法,并提供具体的代码示例,帮助读者更好地理解和使用这些技巧。一、异步编程的基本概念在传统的同步编程中,代码按

如何通过php函数来减少内存的使用? 如何通过php函数来减少内存的使用? Oct 05, 2023 pm 01:45 PM

如何通过PHP函数来减少内存的使用在开发中,内存的使用是一个很重要的考量因素。如果在程序中使用大量的内存,可能会导致运行速度变慢甚至程序崩溃。因此,合理地管理和减少内存的使用是每个PHP开发者都应该关注的问题。本文将介绍一些通过PHP函数来减少内存使用的方法,并提供具体的代码示例供读者参考。使用unset()函数释放变量在PHP中,当一个变量不再需要时,使用

PHP图像处理函数实现图片编辑和处理功能的方法总结 PHP图像处理函数实现图片编辑和处理功能的方法总结 Nov 20, 2023 pm 12:31 PM

PHP图像处理函数是一组专门用于处理和编辑图像的函数,它们为开发人员提供了丰富的图像处理功能。通过这些函数,开发人员可以实现图片的裁剪、缩放、旋转、水印添加等操作,从而满足不同的图片处理需求。首先,我将介绍如何使用PHP图像处理函数实现图片的裁剪功能。PHP提供了imagecrop()函数,可以用来裁剪图像。通过传递裁剪区域的坐标和大小,我们可以实现图片的裁

使用JavaScript函数实现网页导航和路由 使用JavaScript函数实现网页导航和路由 Nov 04, 2023 am 09:46 AM

在现代Web应用程序中,实现网页导航和路由是十分重要的一环。利用JavaScript的函数来实现这个功能,可以使我们的Web应用程序更加灵活、可扩展和用户友好。本文将介绍如何使用JavaScript函数来实现网页导航和路由,并提供具体的代码示例。实现网页导航对于一个Web应用程序而言,网页导航是用户操作最频繁的一个部分。当用户点击页面上的

使用JavaScript函数实现数据可视化的实时更新 使用JavaScript函数实现数据可视化的实时更新 Nov 04, 2023 pm 03:30 PM

使用JavaScript函数实现数据可视化的实时更新随着数据科学和人工智能的发展,数据可视化已经成为了一种重要的数据分析和展示工具。通过可视化数据,我们可以更直观地理解数据之间的关系和趋势。在Web开发中,JavaScript是一种常用的脚本语言,具备强大的数据处理和动态交互功能。本文将介绍如何使用JavaScript函数实现数据可视化的实时更新,并展示具体

PHP函数介绍:strtr()函数 PHP函数介绍:strtr()函数 Nov 03, 2023 pm 12:15 PM

PHP函数介绍:strtr()函数在PHP编程中,strtr()函数是一个非常有用的字符串替换函数。它用于将字符串中的指定字符或字符串替换为其他字符或字符串。本文将介绍strtr()函数的用法,并给出一些具体的代码示例。strtr()函数的基本语法如下:strtr(string$str,array$replace)其中,$str是要进行替换操作的原始字

PHP函数的性能如何? PHP函数的性能如何? Apr 18, 2024 pm 06:45 PM

不同PHP函数的性能对应用程序效率至关重要。性能较好的函数包括echo、print,而str_replace、array_merge、file_get_contents等函数性能较慢。例如,str_replace函数用于替换字符串,性能中等,而sprintf函数用于格式化字符串。性能分析表明,执行一个示例仅需0.05毫秒,证明了函数性能良好。因此,明智地使用函数可以构建更快、更高效的应用程序。

See all articles