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 相关文章推荐
初探PHP5
Oct 09 PHP
深入密码加salt原理的分析
Jun 06 PHP
php用正则表达式匹配中文实例详解
Nov 06 PHP
PHP中is_file不能替代file_exists的理由
Mar 04 PHP
php setcookie函数的参数说明及其用法
Apr 20 PHP
php中数字、字符与对象判断函数用法实例
Nov 26 PHP
PHP实现根据图片色界在不同位置加水印的方法
Aug 08 PHP
简述php环境搭建与配置
Dec 05 PHP
php实现给二维数组中所有一维数组添加值的方法
Feb 04 PHP
PHP和MYSQL实现分页导航思路详解
Apr 11 PHP
PHP使用xpath解析XML的方法详解
May 20 PHP
PHP PDOStatement::fetchColumn讲解
Jan 31 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函数指定默认值方法的小例子
2013/12/04 PHP
PHP常用编译参数中文说明
2014/09/27 PHP
详解HTTP Cookie状态管理机制
2016/01/14 PHP
php中curl和soap方式请求服务超时问题的解决
2018/06/11 PHP
php微信公众号开发之图片回复
2018/10/20 PHP
TP5框架安全机制实例分析
2020/04/05 PHP
利用JQuery为搜索栏增加tag提示
2009/06/22 Javascript
TinyMCE 新增本地图片上传功能
2010/11/05 Javascript
jQuery之网页换肤实现代码
2011/04/30 Javascript
深入探讨JavaScript String对象
2015/03/09 Javascript
Javascript中常见的逻辑题和解决方法
2016/09/17 Javascript
jQuery中绑定事件bind() on() live() one()的异同
2017/02/23 Javascript
JavaScript阻止表单提交方法(附代码)
2017/08/15 Javascript
详解基于Koa2开发微信二维码扫码支付相关流程
2018/05/16 Javascript
[01:35]2014DOTA2西雅图邀请赛 专访狐狸妈青春献给刀塔
2014/07/08 DOTA
[02:41]《西雅图我们来了》2015国际邀请赛出征全记录
2015/07/23 DOTA
python WindowsError的错误代码详解
2017/07/23 Python
使用 Visual Studio Code(VSCode)搭建简单的Python+Django开发环境的方法步骤
2018/12/17 Python
centos7之Python3.74安装教程
2019/08/15 Python
Python FTP文件定时自动下载实现过程解析
2019/11/12 Python
Python实现直播推流效果
2019/11/26 Python
如何基于Python代码实现高精度免费OCR工具
2020/06/18 Python
Python定义一个Actor任务
2020/07/29 Python
python3环境搭建过程(利用Anaconda+pycharm)完整版
2020/08/19 Python
利达恒信公司.NET笔试题面试题
2016/03/05 面试题
护理不良事件检讨书
2014/02/06 职场文书
会计演讲稿范文
2014/05/23 职场文书
银行求职自荐信
2014/06/30 职场文书
2014领导班子四风剖析对照检查材料思想汇报
2014/09/20 职场文书
11.9消防日宣传标语
2014/10/08 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
学校财务管理制度
2015/08/04 职场文书
python 定义函数 返回值只取其中一个的实现
2021/05/21 Python
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS
Linux中如何安装并部署Redis
2022/04/18 Servers
Golang gRPC HTTP协议转换示例
2022/06/16 Golang