php匹配字符中链接地址的方法

 更新时间:2014年12月22日 10:07:36   投稿:shichen2014  
这篇文章主要介绍了php匹配字符中链接地址的方法,涉及正则匹配与提取超链接的方法,是非常实用的正则技巧,需要的朋友可以参考下

本文实例讲述了php匹配字符中链接地址的方法。分享给大家供大家参考。具体如下:

判断一个字符串是否含有超级链接,代码如下:

复制代码 代码如下:
$str="ssdsf<a target='_blank' href='https://www.jb51.net/' >sdf</a>sdfss";
if(preg_match("/<a/s+href=[^>]*>|<//[^a]*a[^>]*>/i",$str))
{
echo "该字符串有超链接";
}
else
{
echo "该字符串没有超链接标记";
}
?>

下面我们只要过滤连接部份,代码如下:
复制代码 代码如下:
<?php 
echo preg_replace("/(?<=href=)([^>]*)(?=>)/i","#", "<a href='www.jb51.net'>你好,点这里看看</a><a href='www.jb51.net'>你好,点这里看看</a>"); 
?>

正则:/(?<=href=)([^>]*)(?=>)/

(?<=exp) 匹配exp后面的位置

(?=exp) 匹配exp前面的位置

此正则匹配 在 href= 之后 “>” 之前 的 非 “>” 的所有字符

例子:<a href='www.jb51.net'>,找到这些字符(url)用 # 替换,就可以去掉html里的所有链接,现在分享一个提取超级连接的实例,代码如下:

复制代码 代码如下:
function match_links($document) {   
    preg_match_all("'<s*as.*?hrefs*=s*(["'])?(?(1)(.*?)\1|([^s>]+))[^>]*>?(.*?)</a>'isx",$document,$links);                       
    while(list($key,$val) = each($links[2])) {
        if(!emptyempty($val))
            $match['link'][] = $val;
    }
    while(list($key,$val) = each($links[3])) {
        if(!emptyempty($val))
            $match['link'][] = $val;
    }       
    while(list($key,$val) = each($links[4])) {
        if(!emptyempty($val))
            $match['content'][] = $val;
    }
    while(list($key,$val) = each($links[0])) {
        if(!emptyempty($val))
            $match['all'][] = $val;
    }               
    return $match;
}

希望本文所述对大家的PHP程序设计有所帮助。

相关文章

  • php中array_column函数简单实现方法

    php中array_column函数简单实现方法

    这篇文章主要介绍了php中array_column函数简单实现方法,结合实例形式简单分析了array_column函数的功能,并针对低版本的情况给出了array_column函数的实现代码,需要的朋友可以参考下
    2016-07-07
  • php实现获取近几日、月时间示例

    php实现获取近几日、月时间示例

    这篇文章主要介绍了php实现获取近几日、月时间的方法,结合实例形式分析了PHP日期时间相关的date_default_timezone_set时区设置、date与mktime时间计算、转换等操作技巧,需要的朋友可以参考下
    2019-07-07
  • 实现了一个PHP5的getter/setter基类的代码

    实现了一个PHP5的getter/setter基类的代码

    实现了一个PHP5的getter/setter基类的代码...
    2007-02-02
  • php实现每天自动变换随机问候语的方法

    php实现每天自动变换随机问候语的方法

    这篇文章主要介绍了php实现每天自动变换随机问候语的方法,涉及时间与数组的相关操作技巧,需要的朋友可以参考下
    2015-05-05
  • PHP运行模式汇总

    PHP运行模式汇总

    本文给大家汇总介绍了php的5种运行模式,并进行了简单的对比,非常的细致全面,希望对大家学习使用php能够有所帮助
    2016-11-11
  • php通过exif_read_data函数获取图片的exif信息

    php通过exif_read_data函数获取图片的exif信息

    这篇文章主要介绍了php通过exif_read_data函数获取图片的exif信息,默认情况下,PHP读取图片Exif信息模块是不开启的,我们需要先开启这个模块。开启Exif模块需要mbstring支持,这里就不详细说明了,我们来先看下函数的用法
    2015-05-05
  • php查询mysql数据库并将结果保存到数组的方法

    php查询mysql数据库并将结果保存到数组的方法

    这篇文章主要介绍了php查询mysql数据库并将结果保存到数组的方法,实例分析了php使用mysql_fetch_assoc查询数据库的技巧,需要的朋友可以参考下
    2015-03-03
  • php中取得URL的根域名的代码

    php中取得URL的根域名的代码

    php中取得URL的根域名的代码,需要的朋友可以参考下。
    2011-03-03
  • 在Mac OS下搭建LNMP开发环境的步骤详解

    在Mac OS下搭建LNMP开发环境的步骤详解

    这篇文章主要介绍了在Mac OS下搭建LNMP开发环境的步骤,文中通过一步步的步骤介绍的非常详细,对大家具有一定的参考价值,需要的朋友们下面来一起看看吧。
    2017-03-03
  • PHP单元测试配置与使用方法详解

    PHP单元测试配置与使用方法详解

    这篇文章主要介绍了PHP单元测试配置与使用方法,结合实例形式详细分析了PHP单元测试的具体安装、配置、使用方法及相关操作注意事项,需要的朋友可以参考下
    2019-12-12

最新评论