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


Posted in PHP onDecember 22, 2014

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

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

$str="ssdsf<a target='_blank' href='https://3water.com/' >sdf</a>sdfss"; 

if(preg_match("/<a/s+href=[^>]*>|<//[^a]*a[^>]*>/i",$str)) 

{ 

echo "该字符串有超链接"; 

} 

else 

{ 

echo "该字符串没有超链接标记"; 

} 

?>

下面我们只要过滤连接部份,代码如下:
<?php  

echo preg_replace("/(?<=href=)([^>]*)(?=>)/i","#", "<a href='3water.com'>你好,点这里看看</a><a href='3water.com'>你好,点这里看看</a>");  

?>

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

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

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

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

例子:<a href='3water.com'>,找到这些字符(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 相关文章推荐
php Ajax乱码
Apr 09 PHP
PHP 反向排序和随机排序代码
Jun 30 PHP
PHP 第二节 数据类型之数组
Apr 28 PHP
PHP调用Linux的命令行执行文件压缩命令
Jan 27 PHP
简单实现限定phpmyadmin访问ip的方法
Mar 05 PHP
『PHP』PHP截断函数mb_substr()使用介绍
Apr 22 PHP
php Hex RGB颜色值互换的使用
May 10 PHP
简单介绍PHP的责任链编程模式
Aug 11 PHP
php中注册器模式类用法实例分析
Nov 03 PHP
php版微信js-sdk支付接口类用法示例
Oct 12 PHP
php workerman定时任务的实现代码
Dec 23 PHP
Laravel框架验证码类用法实例分析
Sep 11 PHP
php用户注册时常用的检验函数实例总结
Dec 22 #PHP
CentOS6.5 编译安装lnmp环境
Dec 21 #PHP
在SAE上搭建最新wordpress的方法
Dec 21 #PHP
PHP获取当前完整URL地址的函数
Dec 21 #PHP
学习php开源项目的源码指南
Dec 21 #PHP
php数组添加元素方法小结
Dec 20 #PHP
php获取数组元素中头一个数组元素值的实现方法
Dec 20 #PHP
You might like
php正则校验用户名介绍
2008/07/19 PHP
php 表单数据的获取代码
2009/03/10 PHP
备份mysql数据库的php代码(一个表一个文件)
2010/05/28 PHP
windows下PHP_intl.dll正确配置方法(apache2.2+php5.3.5)
2014/01/14 PHP
PHP+Ajax+JS实现多图上传
2016/05/07 PHP
php 截取GBK文档某个位置开始的n个字符方法
2017/03/08 PHP
PHP实现在数据库百万条数据中随机获取20条记录的方法
2017/04/19 PHP
js程序中美元符号$是什么
2008/06/05 Javascript
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
基于jQuery插件实现环形图标菜单旋转切换特效
2015/05/15 Javascript
javascript实现动态表头及表列的展现方法
2015/07/14 Javascript
AngularJS入门心得之directive和controller通信过程
2016/01/25 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
js的各种排序算法实现(总结)
2016/07/23 Javascript
浅谈jQuery中的checkbox问题
2016/08/10 Javascript
JS实现动态修改table及合并单元格的方法示例
2017/02/20 Javascript
vuex + axios 做登录验证 并且保存登录状态的实例
2018/09/16 Javascript
Vue模板语法中数据绑定的实例代码
2019/05/17 Javascript
微信公众号开发之微信支付代码记录的实现
2019/10/16 Javascript
我所理解的JavaScript中的this指向
2020/09/04 Javascript
JavaScript常用进制转换及位运算实例解析
2020/10/14 Javascript
使用FastCGI部署Python的Django应用的教程
2015/07/22 Python
Django forms组件的使用教程
2018/10/08 Python
Python同步遍历多个列表的示例
2019/02/19 Python
python异步存储数据详解
2019/03/19 Python
Python爬取网页信息的示例
2020/09/24 Python
大学生关于奋斗的演讲稿
2014/01/09 职场文书
网络工程专业自荐信范文
2014/03/16 职场文书
竞选大队长演讲稿
2014/04/29 职场文书
社团活动总结模板
2014/06/30 职场文书
小学班主任经验交流材料
2014/12/16 职场文书
先进集体申报材料
2014/12/25 职场文书
2019年农民幸福观调查的实践感悟
2019/12/19 职场文书
教你用eclipse连接mysql数据库
2021/04/22 MySQL
JavaScript高级程序设计之变量与作用域
2021/11/17 Javascript