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实现小型站点广告管理(修正版)
Oct 09 PHP
php连接mssql的一些相关经验及注意事项
Feb 05 PHP
PHP flush()与ob_flush()的区别详解
Jun 03 PHP
ASP和PHP实现生成网站快捷方式并下载到桌面的方法
May 08 PHP
thinkphp常见路径用法分析
Dec 02 PHP
CodeIgniter实现从网站抓取图片并自动下载到文件夹里的方法
Jun 17 PHP
两种php去除二维数组的重复项方法
Nov 04 PHP
简单谈谈php延迟静态绑定
Jan 26 PHP
Laravel中的Auth模块详解
Aug 17 PHP
PHP进阶学习之反射基本概念与用法分析
Jun 18 PHP
laravel model模型定义实现开启自动管理时间created_at,updated_at
Oct 17 PHP
PHP vsprintf()函数格式化字符串操作原理解析
Jul 14 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 header 跳转
2013/06/17 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
php实现两表合并成新表并且有序排列的方法
2014/12/05 PHP
php实现背景图上添加圆形logo图标的方法
2016/11/17 PHP
JavaScript前补零操作实例
2015/03/11 Javascript
JavaScript实现跨浏览器的添加及删除事件绑定函数实例
2015/08/04 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
微信小程序 后台https域名绑定和免费的https证书申请详解
2016/11/10 Javascript
jquery Banner轮播选项卡
2016/12/26 Javascript
解析NodeJS异步I/O的实现
2017/04/13 NodeJs
vue2.0实现导航菜单切换效果
2017/05/08 Javascript
使用Angular CLI进行Build(构建)和Serve详解
2018/03/24 Javascript
Mint-UI时间组件起始时间问题及时间插件使用
2018/08/20 Javascript
Vue 重置组件到初始状态的方法示例
2018/10/10 Javascript
Node.js的进程管理的深入理解
2019/01/09 Javascript
vue使用自定义指令实现拖拽
2021/01/29 Javascript
微信小程序实现弹框效果
2020/05/26 Javascript
vue开发简单上传图片功能
2020/06/30 Javascript
vue实现广告栏上下滚动效果
2020/11/26 Vue.js
python错误处理详解
2014/09/28 Python
python进程类subprocess的一些操作方法例子
2014/11/22 Python
详解Python如何获取列表(List)的中位数
2016/08/12 Python
基于windows下pip安装python模块时报错总结
2018/06/12 Python
Python开发最牛逼的IDE——pycharm
2018/08/01 Python
对Python 中矩阵或者数组相减的法则详解
2019/08/26 Python
给大家整理了19个pythonic的编程习惯(小结)
2019/09/25 Python
python 实现屏幕录制示例
2019/12/23 Python
python自动化测试三部曲之unittest框架的实现
2020/10/07 Python
利用Python发送邮件或发带附件的邮件
2020/11/12 Python
使用CSS3实现SVG路径描边动画效果入门教程
2019/10/21 HTML / CSS
轻松制作精彩视频:Animoto
2018/09/19 全球购物
Burt’s Bees英国官网:世界领先的天然个人护理品牌
2020/08/17 全球购物
优秀毕业生事迹材料
2014/02/12 职场文书
档案保密承诺书
2014/06/03 职场文书
逃课检讨书怎么写
2015/01/01 职场文书
pandas中pd.groupby()的用法详解
2022/06/16 Python