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

有时候我们需要使用php获取网页中的图片并保存下来,这里我们可以使用preg_match_all用来匹配图片地址,需要的码农可以参考下

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("http://www.xxx.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="http://www.xxx.com/usr/themes/dddefault/images/logo.png" alt="码农教程" />
            [1] => <img style="display: block; margin-left: auto; margin-right: auto;" title="码农教程上线了" src="http://www.xxx.com/usr/uploads/2012/09/531656480.jpg" alt="码农教程上线了2" />
            [2] => <img style="display: block; margin-left: auto; margin-right: auto;" src="http://www.xxx.com/usr/uploads/2012/09/2647136297.jpg" alt="875EA1C00E50B4542797E24FA6E7E1F2.jpg" />
        )
    [1] => Array
        (
            [0] => http://www.xxx.com/usr/themes/dddefault/images/logo.png
            [1] => http://www.xxx.com/usr/uploads/2012/09/531656480.jpg
            [2] => http://www.xxx.com/usr/uploads/2012/09/2647136297.jpg
        )
)

原文地址:http://www.manongjc.com/article/708.html

相关阅读:

php preg_match_all结合str_replace替换内容中所有img

php preg_match与preg_match_all 函数区别分析

php preg_match的匹配不同国家语言实例

PHP使用preg_match_all导致apache崩溃问题的解决方法

php preg_match正则匹配中的/u、/i、/s含义

php preg_match函数匹配的字符串长度的问题

php中preg_match isU表示什么

php preg_match_all正则表达式函数使用讲解

php preg_match正则表达式函数实例讲解

javascript 正则表达式test()和exec()用法

php 正则表达式中的非贪婪模式匹配

php 正则表达式效率 贪婪、非贪婪与回溯分析

javascript 正则表达式贪婪模式与非贪婪模式

Javascript 中正则表达式的全局匹配模式分析

javascript 正则表达式匹配字符串string

js 验证(判断)是否为网址

php正则表达式函数使用实例

php preg_match函数和php preg_match_al函数l实例,方法,例子

php preg_match_all()函数使用实例

php preg_match正则表达式函数实例

时间: 2024-08-04 12:18:15

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

dedecms获取文章中的图片代码

1.在 /include/common.func.php 文件底部加入以下代码 /** * getArcImages 获取文章中的图片 * $id 文章ID * $num 要获取的图片数量 默认为4张 */ function getArcImages($id,$num=4){ global $dsql; $row = $dsql->GetOne("SELECT * FROM dede_addonarticle WHERE aid= $id"); $content = $row['

如何获取别人微信文章中的图片

有时我们看到别人微信文章中的图片很好看,想保存下来,又或者是我们本身是微信运营者,想"借用"一下别人的图,简单点的做法是在手机微信文章中点击图片,会出现微信图片浏览器,然后点击右上角的三个点点,点击保存到手机.如果电脑要用,就用手机发送给电脑就行,如下图: 但是,如果仅仅这么简单我就不用写这篇文章了!! 关键在于,这样得到的图是经过微信处理过的小图,放大后会失真,那怎么获得大图呢? 试过的人可能知道,将微信文章链接发送到电脑端,然后在电脑浏览器打开文章,右键另存,下载下来的是一个名为&

解决WordPress在文章中插入图片时默认插入中等格式图片的问题

如题所示,我使用的是WordPress自带的编辑器进行编辑,而且为了保护版权开始给自己的图片添加文字水印.本来每次上传的时候都可以通过插件自动地给图片添加上水印,但是比较恶心的是把图片插入到文章中之后自动生成了一个中等尺寸的图片,而这个新的小图片是没有水印的.解决这个问题也很简单,只需要在后台的"设置" –> "多媒体"里进行简单的设置就可以了 如上图所示,只需要把媒体选项里的所有选项都设置成0就可以了

C#正则表达式匹配HTML中的图片路径

最近的项目中有个关于网页取图的功能需要我自己开发,那就是用正则表达式来匹配图片标签. 一般来说一个 HTML 文档有很多标签,比如“<html>”.“<body>”.“<table>”等,想把文档中的 img 标签提取出来并不是一件容易的事.由于 img 标签样式变化多端,使提取的时候用程序寻找并不容易.于是想要寻找它们就必须写一个非常健全的正则表达式,不然有可能会找得不全,或者找出来的不是正确的 img 标签. 我们可以从 HTML 标签的格式去想应该怎么建这个正则表

你博客园文章中的图片可以放大吗?反正我的是可以放大了!

序 看看项目经理是如何实现的? 插件选择 试了几个插件,感觉还是 lightbox 插件好用,链接:https://github.com/lokesh/lightbox2,该插件具备如下几个特点: 点击图片后根据图片实际尺寸自动显示 图片有加载动画特效,有前.后.关闭按钮 想看详细介绍,可以查看:https://www.lokeshdhakar.com/projects/lightbox2/ 具体实现 通过上面的链接下载好后需要如下几个文件:lightbox.css.lightbox-plus-

php笔记之:文章中图片处理的使用

array_diff($arr1,$arr2)php数组函数之一,用来计算数组的差集.正则匹配html图片标签用sinaeditor添加的图片删除操作用法之一,今天晚上在用新浪编辑器发表文章的过程中.使用到了此函数 问题描述: 文章中有图片若干.在增加文章的过程中自动上传到网站的图片目录中在修改文章的过程中如果对图片进行相关的删除操作.那么虽然在代码中(已经存入数据库);已经删除了数据的标签.类似于<img src=http://......>这样的标签.但是图片的文件依旧存在于网站上.这时候

ASP.NET/C#获取文章中图片的地址

前几天修改一个网站的布局的时候需要把简单的新闻列表修改为图文结合+新闻列表,不过这新闻的数据库非常简单,图片是在编辑器里面和HTML一起存入数据库中的content字段的,所以工作简化到从一个字符串里面获取图片的地址并输出.在HTML的图片标签一般如下格式所示:<img src="" alt="" title="" width="" height="" />,这就相当于编程中的一个结构体啊,里面

BBS-添加文章及文章中图片

目录 BBS项目中的添加文章 BBS项目中的添加文章中的图片 BBS项目中的添加文章 1.添加文章的时候,我们需要特别注意的是这个地方需要利用到到BeautifulSoup这个模块,因为我们在input的框中输入的内容,到了后端我们需要通过BeautifulSoup模块进行转成后端可以使用的文档 from bs4 import BeautifulSoup # 添加文章 def add_article(request): tag_list = models.Tag.objects.filter(b

获取文章中图片路径的正则表达式

String content = "<p><img src="http://xxx.com/image/635.png" alt="bg" style="max-width:100%;"><img src="http://ssss.com/image/d17c.jpg" alt="spe-03" style="max-width: 100%;"&g