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 相关文章推荐
Email+URL的判断和自动转换函数
Oct 09 PHP
Adodb的十个实例(清晰版)
Dec 31 PHP
gd库图片下载类实现下载网页所有图片的php代码
Aug 20 PHP
基于ubuntu下nginx+php+mysql安装配置的具体操作步骤
Apr 28 PHP
基于PHP读取csv文件内容的详解
Jun 18 PHP
php 如何获取数组第一个值
Aug 06 PHP
PHP贪婪算法解决0-1背包问题实例分析
Mar 23 PHP
php cli配置文件问题分析
Oct 15 PHP
CI框架数据库查询之join用法分析
May 18 PHP
PHP图像处理技术实例总结【绘图、水印、验证码、图像压缩】
Dec 08 PHP
Thinkphp整合阿里云OSS图片上传实例代码
Apr 28 PHP
YII框架http缓存操作示例
Apr 29 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控制用户的浏览器--ob*函数的使用说明
2007/03/16 PHP
PHP彩蛋信息介绍和阻止泄漏的方法(隐藏功能)
2014/08/06 PHP
PHP 实现字符串翻转(包含中文汉字)的实现代码
2017/04/01 PHP
Phpstorm+Xdebug断点调试PHP的方法
2018/05/14 PHP
使用composer命令加载vendor中的第三方类库 的方法
2019/07/09 PHP
JQuery 国际象棋棋盘 实现代码
2009/06/26 Javascript
Extjs中常用表单介绍与应用
2010/06/07 Javascript
关于js注册事件的常用方法
2013/04/03 Javascript
jquery引用方法时传递参数原理分析
2014/10/13 Javascript
Node.js实现的简易网页抓取功能示例
2014/12/05 Javascript
基于Jquery代码实现支持PC端手机端幻灯片代码
2015/11/17 Javascript
AngularJS 作用域详解及示例代码
2016/08/17 Javascript
利用jQuery的动画函数animate实现豌豆发射效果
2016/08/28 Javascript
AngularJS实现用户登录状态判断的方法(Model添加拦截过滤器,路由增加限制)
2016/12/12 Javascript
jQuery插件zTree实现获取一级节点数据的方法
2017/03/08 Javascript
VUE 全局变量的几种实现方式
2018/08/22 Javascript
分享Angular http interceptors 拦截器使用(推荐)
2019/11/10 Javascript
[02:25]专访DOTA2负责人Erik 国际邀请赛暂不会离开西雅
2014/07/21 DOTA
pycharm 使用心得(五)断点调试
2014/06/06 Python
python多进程操作实例
2014/11/21 Python
Python实现类似jQuery使用中的链式调用的示例
2016/06/16 Python
Python常用内置模块之xml模块(详解)
2017/05/23 Python
Python如何实现线程间通信
2020/07/30 Python
python函数超时自动退出的实操方法
2020/12/28 Python
CSS3 选择器 基本选择器介绍
2012/01/21 HTML / CSS
html5/css3响应式页面开发总结
2018/10/16 HTML / CSS
EJB的激活机制
2013/10/25 面试题
会计实习生自我鉴定
2013/12/12 职场文书
自我评价如何写好?
2014/01/05 职场文书
绩效考核实施方案
2014/03/18 职场文书
争先创优个人总结
2015/03/04 职场文书
教师培训学习心得体会
2016/01/21 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
pytorch 两个GPU同时训练的解决方案
2021/06/01 Python
Redis实战高并发之扣减库存项目
2022/04/14 Redis
java高级用法JNA强大的Memory和Pointer
2022/04/19 Java/Android