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 相关文章推荐
模拟OICQ的实现思路和核心程序(三)
Oct 09 PHP
一篇有意思的技术文章php介绍篇
Oct 26 PHP
关于session在PHP5的配置文件中的详细设置参数说明
Apr 20 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
May 24 PHP
网页上facebook分享功能具体实现
Jan 26 PHP
PHP中substr()与explode()函数用法分析
Nov 24 PHP
php利用cookie实现自动登录的方法
Dec 10 PHP
Laravel程序架构设计思路之使用动作类
Jun 07 PHP
PHP数组遍历的几种常见方式总结
Feb 15 PHP
YII框架实现自定义第三方扩展操作示例
Apr 26 PHP
php解压缩zip和rar压缩包文件的方法
Jul 10 PHP
php文件后缀不强制为.php的实操方法
Sep 18 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
桌面中心(二)数据库写入
2006/10/09 PHP
PHP 文件缓存的性能测试
2010/04/25 PHP
Yii2中如何使用modal弹窗(基本使用)
2016/05/30 PHP
最常用的12种设计模式小结
2011/08/09 Javascript
深入理解JavaScript作用域和作用域链
2011/10/21 Javascript
jQuery实现表头固定效果的实例代码
2013/05/24 Javascript
JS、CSS加载中的小问题探讨
2013/11/26 Javascript
jQuery对象的链式操作用法分析
2016/05/10 Javascript
JavaScript实现简单的拖动效果
2016/07/02 Javascript
浅谈Javascript中的函数、this以及原型
2016/10/09 Javascript
easyui messager alert 三秒后自动关闭提示的实例
2016/11/07 Javascript
Canvas 绘制粒子动画背景
2017/02/15 Javascript
JS判断微信扫码的方法
2017/08/07 Javascript
AngularJS实现的省市二级联动功能示例【可对选项实现增删】
2017/10/26 Javascript
Vue实现table上下移动功能示例
2019/02/21 Javascript
elementUI Tree 树形控件的官方使用文档
2019/04/25 Javascript
vue中的使用token的方法示例
2020/03/10 Javascript
[53:23]Secret vs Liquid 2018国际邀请赛淘汰赛BO3 第二场 8.25
2018/08/29 DOTA
Windows上配置Emacs来开发Python及用Python扩展Emacs
2015/11/20 Python
Python中列表元素转为数字的方法分析
2016/06/14 Python
Python实现读写sqlite3数据库并将统计数据写入Excel的方法示例
2017/08/07 Python
python开启摄像头以及深度学习实现目标检测方法
2018/08/03 Python
不管你的Python报什么错,用这个模块就能正常运行
2018/09/14 Python
从0开始的Python学习014面向对象编程(推荐)
2019/04/02 Python
python批量修改ssh密码的实现
2019/08/08 Python
django序列化时使用外键的真实值操作
2020/07/15 Python
深入剖析HTML5 内联框架iFrame
2016/05/04 HTML / CSS
英国钻石公司:British Diamond Company
2020/02/16 全球购物
奥利奥广告词
2014/03/20 职场文书
居委会四风问题个人对照检查材料
2014/09/25 职场文书
综合素质评价自我评价
2015/03/06 职场文书
小区保洁员岗位职责
2015/04/10 职场文书
MySQL基础快速入门知识总结(附思维导图)
2021/09/25 MySQL
python 管理系统实现mysql交互的示例代码
2021/12/06 Python
Python线程池与GIL全局锁实现抽奖小案例
2022/04/13 Python
阿里面试Nacos配置中心交互模型是push还是pull原理解析
2022/07/23 Java/Android