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的cms
Dec 19 PHP
PHP UTF8中文字符截断函数代码
Sep 11 PHP
PHP优于Node.js的五大理由分享
Sep 15 PHP
PHP关联数组的10个操作技巧
Jan 21 PHP
PHP static局部静态变量和全局静态变量总结
Mar 02 PHP
递归删除一个节点以及该节点下的所有节点示例
Mar 19 PHP
PHP SPL标准库之SplFixedArray使用实例
May 12 PHP
PHP经典面试题之设计模式(经常遇到)
Oct 15 PHP
Linux环境下php实现给网站截图的方法
May 03 PHP
windows7配置Nginx+php+mysql的详细教程
Sep 04 PHP
Yii2中datetime类的使用
Dec 17 PHP
PHP中仿制 ecshop验证码实例
Jan 06 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
Flash空降上海 化身大魔王接受挑战
2020/03/02 星际争霸
php 错误处理经验分享
2011/10/11 PHP
php绘图中显示不出图片的原因及解决
2014/03/05 PHP
详解php中生成标准uuid(guid)的方法
2019/04/28 PHP
在html页面中包含共享页面的方法
2008/10/24 Javascript
使用jQuery实现的网页版的个人简历(可换肤)
2013/04/19 Javascript
JS获取单击按钮单元格所在行的信息
2014/06/17 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
详解JavaScript中this的指向问题
2017/01/20 Javascript
js手机号4位显示空格,银行卡每4位显示空格效果
2017/03/23 Javascript
Vue实现路由跳转和嵌套
2017/06/20 Javascript
JavaScript中使用Async实现异步控制
2017/08/15 Javascript
详解JavaScript基础知识(JSON、Function对象、原型、引用类型)
2018/01/16 Javascript
基于vue1和vue2获取dom元素的方法
2018/03/17 Javascript
JavaScript键盘事件常见用法实例分析
2019/01/03 Javascript
vuex存储复杂参数(如对象数组等)刷新数据丢失的解决方法
2019/11/05 Javascript
JS实现扫码枪扫描二维码功能
2020/01/03 Javascript
[49:31]TFT vs Mski Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
python使用ctypes模块调用windowsapi获取系统版本示例
2014/04/17 Python
Python实现子类调用父类的方法
2014/11/10 Python
Python+matplotlib实现华丽的文本框演示代码
2018/01/22 Python
python素数筛选法浅析
2018/03/19 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
2019/02/21 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
Django缓存系统实现过程解析
2019/08/02 Python
Django接收自定义http header过程详解
2019/08/23 Python
Python英文文章词频统计(14份剑桥真题词频统计)
2019/10/13 Python
Python3监控疫情的完整代码
2020/02/20 Python
Python装饰器用法与知识点小结
2020/03/09 Python
override和overload的区别
2016/03/09 面试题
职业女性的职业规划
2014/03/04 职场文书
骨干教师培训方案
2014/05/06 职场文书
村党支部书记四风问题个人对照检查材料思想汇报
2014/10/06 职场文书
外出学习心得体会范文
2016/01/18 职场文书
MySQL中日期型单行函数代码详解
2021/06/21 MySQL
基于Python实现nc批量转tif格式
2022/08/14 Python