php中使用preg_match_all匹配文章中的图片


Posted in PHP onFebruary 06, 2013

preg_match_all 函数:

int preg_match_all ( string pattern, string subject, array matches [, int flags] )执行一个全局正则表达式匹配
在 subject 中搜索所有与 pattern 给出的正则表达式匹配的内容并将结果以 flags 指定的顺序放到 matches 中。    
搜索到第一个匹配项之后,接下来的搜索从上一个匹配项末尾开始。  
flags 可以是下列标记的组合(注意把 PREG_PATTERN_ORDER 和 PREG_SET_ORDER 合起来用没有意义): 
PREG_PATTERN_ORDER  对结果排序使 $matches[0] 为全部模式匹配的数组,$matches[1] 为第一个括号中的子模式所匹配的字符串组成的数组,以此类推!

例子:

<?php
$con = file_get_contents("https://3water.com/news/jb-1.html");
$pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg|\.png]))[\'|\"].*?[\/]?>/";
preg_match_all($pattern,$con,$match);
print_r($match);
?>

结果:

Array
(
    [0] => Array
        (
            [0] => <img src="https://3water.com/usr/themes/dddefault/images/logo.png" alt="脚本学堂" />
            [1] => <img style="display: block; margin-left: auto; margin-right: auto;" title="脚本学堂上线了" src="https://3water.com/usr/uploads/2012/09/531656480.jpg" alt="脚本学堂上线了2" />
            [2] => <img style="display: block; margin-left: auto; margin-right: auto;" src="https://3water.com/usr/uploads/2012/09/2647136297.jpg" alt="875EA1C00E50B4542797E24FA6E7E1F2.jpg" />
        )
    [1] => Array
        (
            [0] => https://3water.com/usr/themes/dddefault/images/logo.png
            [1] => https://3water.com/usr/uploads/2012/09/531656480.jpg
            [2] => https://3water.com/usr/uploads/2012/09/2647136297.jpg
        )
)
PHP 相关文章推荐
生成静态页面的PHP类
Jul 15 PHP
PHP 多进程 解决难题
Jun 22 PHP
PHP中如何判断AJAX提交的数据
Feb 05 PHP
php内核解析:PHP中的哈希表
Jan 30 PHP
easyui的tabs update正确用法分享
Mar 21 PHP
ThinkPHP实现多数据库连接的解决方法
Jul 01 PHP
php实现设计模式中的单例模式详解
Oct 11 PHP
php读取mssql的ntext字段返回值为空的解决方法
Dec 30 PHP
php实现RSA加密类实例
Mar 26 PHP
深入浅出php socket编程
May 13 PHP
yii2.0整合阿里云oss上传单个文件的示例
Sep 19 PHP
PHP CURL实现模拟登陆并上传文件操作示例
Jan 02 PHP
php中使用addslashes函数报错问题的解决方法
Feb 06 #PHP
深入理解ob_flush和flush的区别(ob_flush()与flush()使用方法)
Feb 06 #PHP
php中设置index.php文件为只读的方法
Feb 06 #PHP
php中选择什么接口(mysql、mysqli)访问mysql
Feb 06 #PHP
php连接mssql的一些相关经验及注意事项
Feb 05 #PHP
用php随机生成福彩双色球号码的2种方法
Feb 04 #PHP
php获取服务器信息的实现代码
Feb 04 #PHP
You might like
广播爱好者需要了解的天线知识
2021/03/01 无线电
浅谈PHP中单引号和双引号到底有啥区别呢?
2015/03/04 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
php实现头像上传预览功能
2017/04/27 PHP
[原创]提供复制本站内容时出现,该文章转自脚本之家等字样的js代码
2007/03/27 Javascript
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
jQuery 获取对象 定位子对象
2010/05/31 Javascript
jquery根据锚点offset值实现动画切换
2014/09/11 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
vue-scroller记录滚动位置的示例代码
2018/01/17 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
浅谈Node框架接入ELK实践总结
2019/02/22 Javascript
微信小程序自定义toast组件的方法详解【含动画】
2019/05/11 Javascript
Node Mongoose用法详解【Mongoose使用、Schema、对象、model文档等】
2020/05/13 Javascript
NodeJS模块Buffer原理及使用方法解析
2020/11/11 NodeJs
python3音乐播放器简单实现代码
2020/04/20 Python
Python实现PS滤镜功能之波浪特效示例
2018/01/26 Python
Python 2.7中文显示与处理方法
2018/07/16 Python
详解python Todo清单实战
2018/11/01 Python
50行Python代码获取高考志愿信息的实现方法
2019/07/23 Python
Python调用Windows API函数编写录音机和音乐播放器功能
2020/01/05 Python
keras做CNN的训练误差loss的下降操作
2020/06/22 Python
python爬虫调度器用法及实例代码
2020/11/30 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
HTMl5的存储方式sessionStorage和localStorage详解
2014/03/18 HTML / CSS
小学生获奖感言范文
2014/02/02 职场文书
2014年父亲节活动方案
2014/03/06 职场文书
终止劳动合同协议书
2014/04/14 职场文书
服务承诺口号
2014/05/22 职场文书
校本教研活动总结
2014/07/01 职场文书
放假通知格式
2015/04/14 职场文书
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
使用CSS实现小三角边框原理解析
2021/11/07 HTML / CSS
一次SQL如何查重及去重的实战记录
2022/03/13 MySQL
vmware虚拟机打不开vmx文件怎么办 ?vmware虚拟机vmx文件打开方法
2022/04/08 数码科技