php实现使用正则将文本中的网址转换成链接标签

 更新时间:2014年12月03日 16:10:20   投稿:hebedich  
本文给大家分享一段php中使用正则表达式将网址转换成A链接的函数代码,十分简洁实用,这里推荐给大家

复制代码 代码如下:

function text2links($str='') {
    if($str=='' or !preg_match('/(http|www\.|@)/i', $str)) { return $str; }
    $lines = explode("\n", $str); $new_text = '';
    while (list($k,$l) = each($lines)) {
        // replace links:
        $l = preg_replace("/([ \t]|^)www\./i", "\\1http://www.", $l);
        $l = preg_replace("/([ \t]|^)ftp\./i", "\\1ftp://ftp.", $l);
        $l = preg_replace("/(http:\/\/[^ )\r\n!]+)/i",
            "<a href=\"\\1\">\\1</a>", $l);
        $l = preg_replace("/(https:\/\/[^ )\r\n!]+)/i",
            "<a href=\"\\1\">\\1</a>", $l);
        $l = preg_replace("/(ftp:\/\/[^ )\r\n!]+)/i",
            "<a href=\"\\1\">\\1</a>", $l);
        $l = preg_replace(
            "/([-a-z0-9_]+(\.[_a-z0-9-]+)*@([a-z0-9-]+(\.[a-z0-9-]+)+))/i",
            "<a href=\"mailto:\\1\">\\1</a>", $l);
        $new_text .= $l."\n";
    }
    return $new_text;
}

相关文章

  • Swoole实现异步投递task任务案例详解

    Swoole实现异步投递task任务案例详解

    这篇文章主要介绍了Swoole实现异步投递task任务案例,结合实例形式详细分析了Swoole异步投递task任务的原理、实现方法及操作注意事项,需要的朋友可以参考下
    2019-04-04
  • phpstrom使用xdebug配置方法

    phpstrom使用xdebug配置方法

    这篇文章主要介绍了phpstrom使用xdebug的配置方法,大家参考使用吧
    2013-12-12
  • PHP 编写大型网站问题集

    PHP 编写大型网站问题集

    是否容易维护、是否足够健壮、否效率足够高、是否足够安全,当PHP用于建立大型网站时这些就成为很关键的因素。
    2010-05-05
  • php 连接mssql数据库 初学php笔记

    php 连接mssql数据库 初学php笔记

    如果实现了PHP和MySQL链接了,PHP和MSSQL的链接其实很简单; 支持MSSQL的本地链接和远程链接
    2010-03-03
  • 队列在编程中的实际应用(php)

    队列在编程中的实际应用(php)

    队列(Queue)是运算受到限制的一种线性表。只允许在表的一端进行插入,而在另一端进行删除元素的线性表。队尾(rear)是允许插入的一端。队头(front)是允许删除的一端。空队列是不含元素的空表。
    2010-09-09
  • PHP判断远程url是否有效的几种方法小结

    PHP判断远程url是否有效的几种方法小结

    需要判断远程URL是否有效,远程url包括远程图片,网页,视频等等元素,收集了多种方法,大家可以根据需要选择。
    2011-10-10
  • PHP将session信息存储到数据库的类实例

    PHP将session信息存储到数据库的类实例

    这篇文章主要介绍了PHP将session信息存储到数据库的类,实例分析了php封装的session信息存储到数据库的类,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-03-03
  • php清除和销毁session的方法分析

    php清除和销毁session的方法分析

    这篇文章主要介绍了php清除和销毁session的方法,实例分析了unset()与session_destroy()清除及销毁session的技巧,需要的朋友可以参考下
    2015-03-03
  • php的闭包(Closure)匿名函数初探

    php的闭包(Closure)匿名函数初探

    本文主要给大家介绍的是php5.3引入的PHP匿名函数,也就是闭包(Closure),以及闭包的作用,非常详细,这里推荐给有需要的小伙伴们。
    2016-02-02
  • php中实现xml与mysql数据相互转换的方法

    php中实现xml与mysql数据相互转换的方法

    这篇文章主要介绍了php中实现xml与mysql数据相互转换的方法,实例封装了一个类文件,可实现XML与MySQL数据的相互转换,具有一定的参考借鉴价值,需要的朋友可以参考下
    2014-12-12

最新评论