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 函数语法介绍一
Jun 14 PHP
关于PHP递归算法和应用方法介绍
Apr 15 PHP
解析strtr函数的效率问题
Jun 26 PHP
模板引擎smarty工作原理以及使用示例
May 25 PHP
php中adodbzip类实例
Dec 08 PHP
php基于GD库画五星红旗的方法
Feb 24 PHP
在PHP程序中使用Rust扩展的方法
Jul 03 PHP
实例详解PHP中html word 互转的方法
Jan 28 PHP
详解PHP安装mysql.so扩展的方法
Dec 31 PHP
2017年最新PHP经典面试题目汇总(上篇)
Mar 17 PHP
PHP实现根据数组某个键值大小进行排序的方法
Mar 13 PHP
Yii框架学习笔记之应用组件操作示例
Nov 13 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
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
咖啡界又出新概念,无需咖啡豆的分子咖啡
2021/03/03 咖啡文化
PHP个人网站架设连环讲(四)
2006/10/09 PHP
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
PHP验证码函数代码(简单实用)
2013/09/29 PHP
JavaScript中为什么null==0为false而null大于=0为true(个人研究)
2013/09/16 Javascript
JavaScript实现的图像模糊算法代码分享
2014/04/22 Javascript
node.js中的fs.chown方法使用说明
2014/12/16 Javascript
JS中字符串trim()使用示例
2015/05/26 Javascript
通过javascript进行UTF-8编码的实现方法
2016/06/27 Javascript
zTree实现节点修改的实时刷新功能
2017/03/20 Javascript
AngularJs 终极购物车(实例讲解)
2017/11/08 Javascript
js中url对象化管理分析
2017/12/29 Javascript
redux-saga 初识和使用
2018/03/10 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
Vue.js实现的计算器功能完整示例
2018/07/11 Javascript
JS面向对象编程基础篇(一) 对象和构造函数实例详解
2020/03/03 Javascript
vue 路由meta 设置导航隐藏与显示功能的示例代码
2020/09/04 Javascript
[13:56]DAC2018 4.5SOLO赛决赛 MidOne vs Paparazi第一场
2018/04/06 DOTA
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
python编写的最短路径算法
2015/03/25 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
2017/12/15 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
python TK库简单应用(实时显示子进程输出)
2019/10/29 Python
Python加载数据的5种不同方式(收藏)
2020/11/13 Python
美国折扣宠物药房:Total Pet Supply
2018/05/27 全球购物
Richards网上商店:当代时尚,遍布巴西
2019/11/03 全球购物
什么是WEB控件?使用WEB控件有哪些优势?
2012/01/21 面试题
介绍一下Java中标识符的命名规则
2014/02/03 面试题
大学毕业生的自我鉴定
2013/11/30 职场文书
运动会入场词50字
2014/02/20 职场文书
需求分析说明书
2014/05/09 职场文书
人力资源求职信
2014/05/25 职场文书
商务邀请函
2015/01/30 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书