PHP正则提取不包含指定网址的图片地址的例子

但是现在这个文章中可能含有一些表情,我们当然不能直接提取src路劲了,这样如果第一张是表情图片的话,就会提取表情图片来作为封面了,这时候我们就需要写清楚正则来排除不匹配的图片,下面是一个小列子:

代码如下:

$contents = '<p>疲惫是一种享受,让我们无暇空虚;坎坷是一种经历,让我们真切的理解人生;
            忙碌是一种幸福,让我们没有时间体会痛苦;奔波是一种快乐,
    <img src="http://img.baidu.com/hi/ldw/w_0009.gif" />
    <img src="http://img.baidu.com/hi/jx2/j_0020.gif" />
    <img src="http://img.baidu.com/hi/jx2/j_0042.gif" />
    <img src="http://img.baidu.com/hi/jx2/j_0015.gif" />
    <img src="http://www.jb51.net/uploads/image/20140420/13979336569926.jpg" />
    <img src="http://www.jb51.net/13979336569926.jpg" />';

preg_match('#<img src="(?!http:\/\/img.baidu)([^"]+)"#', $contents,$matches);

var_dump($matches);

//运行结果

/*
array (size=2)
  0 => string '<img src="http://www.jb51.net/uploads/image/20140420/13979336569926.jpg"' (length=77)
  1 => string 'http://www.jb51.net/uploads/image/20140420/13979336569926.jpg' (length=66)

*/

(0)

相关推荐

  • php正则匹配文章中的远程图片地址并下载图片至本地

    使用php的正则表达式来实现: $content = '这里是文章内容,这里插入一张图片测试 <img src="XXXXXXXXXXXXXXXXXXXX">'; $content = stripslashes ( $content ); $img_array = array (); // 匹配所有远程图片 preg_match_all ( "/(src|SRC)=["|'| ]{0,}(http://(.*).(gif|jpg|jpeg|bmp|png

  • PHP提取字符串中的图片地址[正则表达式]

    复制代码 代码如下: <?php $str='<p><img border="0" src="upfiles/2009/07/1246430143_1.jpg" alt=""/></p>'; $pattern="/<[img|IMG].*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/"; preg_

  • 小谈php正则提取图片地址

    迷上了正则,不断尝试着新花招,首先感谢TNA 的非完全输出RSS,然后再次感谢SH的强迫性学习.没有TNA,我不会去看正则,更不知道世界上有种这么牛的表达式:不是SH的死活说他不懂不知道,我也不会硬着头皮去琢磨,去改进.达到同一个目的,正则的表达方式可以不唯一,没有做不到,只有你没想到.可以这样说吧,正则就是玩设定规律,我大爱这种东西.没有比设定规律筛选东西更让我兴奋.感到awesome的了. 分享一下在php环境下使用正则提取图片地址的一些小心得: 图片网址规范的html代码无非就是 复制代码

  • PHP正则获取页面所有图片地址

    <?php //取得页面所有的图片地址 function getimages($str) { $match_str = "/((http://)+([^ rn()^$!`"'|[]{}<>]*)((.gif)|(.jpg)|(.bmp)|(.png)|(.GIF)|(.JPG)|(.PNG)|(.BMP)))/"; preg_match_all ($match_str,$str,$out,PREG_PATTERN_ORDER); return $out; }

  • PHP正则提取不包含指定网址的图片地址的例子

    但是现在这个文章中可能含有一些表情,我们当然不能直接提取src路劲了,这样如果第一张是表情图片的话,就会提取表情图片来作为封面了,这时候我们就需要写清楚正则来排除不匹配的图片,下面是一个小列子: 复制代码 代码如下: $contents = '<p>疲惫是一种享受,让我们无暇空虚:坎坷是一种经历,让我们真切的理解人生:            忙碌是一种幸福,让我们没有时间体会痛苦:奔波是一种快乐,    <img src="http://img.baidu.com/hi/ldw

  • 用正则删除不包含某个字符串的行的代码

    先说一下这个可疑的ip,58.63.144.170,据说是一个弱智的蜘蛛,上帝保佑它下地狱. 看过apache日志的朋友应该知道,apache的访问日志的每一行是以访问者的ip开始的.因为日志比较大,所以我是用ultraedit来看的.用ultraedit的时候需要注意,它的正则一共有两种,一种是符合perl规范的,而默认的是ut自带的一种,写法比较特殊.本文中用到的正则表达式都是perl兼容的,ut中这个选项可以在"高级->配置->搜索->正则表达式引擎"中进行修改

  • php 字符串中是否包含指定字符串的多种方法

    编写程序的时候,经常要处理字符串,最基本就是字符串的查找,在php检测字符串中是否包含指定字符串可以使用正则,如果你对正则不了解,那么有几个函数可以为您提供方便. 1. strstr strstr() 函数搜索一个字符串在另一个字符串中的第一次出现. 该函数返回字符串的其余部分(从匹配点).如果未找到所搜索的字符串,则返回 false. 代码如下: <?php /*如手册上的举例*/ $email = 'user@example.com'; $domain = strstr($email, '@

  • 详解正则表达式后面不要包含指定的字符串内容

    以前只会/<abc(?!def).+>/.exec("<abcdef>\n<abczzz>"),匹配到<abczzz>,这种简单的固定写法,但实际使用次数几乎趋近于0. 很多场景不能写死abc,顺理成章的就写成了/<.+(?!def).+>/.exec("<abcdef>\n<abczzz>"),咦?咋把前面的匹配到了!从入门到放弃. 昨天(2019-04-07)随手写了一下/<

  • Java正则提取中括号中的内容操作示例

    本文实例讲述了Java正则提取中括号中的内容操作.分享给大家供大家参考,具体如下: 曾经在工作中遇到一个问题,就是需要提取字符串中每一个中括号里的内容,在网上搜了一下,发现用正则表达式可以提取中括号中的内容,具体实现如下: import java.util.ArrayList; import java.util.List; import java.util.regex.Matcher; import java.util.regex.Pattern; public class ExtractMes

  • JAVA 使用正则提取A标签以及href链接

    正则提取A标签以及href链接 代码如下: String content = "<p>下载地址:<a title=\"持续更新补丁下载地址\" target=\"_blank\" href=\"http://pan.baidu.com/s/xxxx\">持续更新补丁下载地址</a></p><p>"; Pattern pattern_a = compile("

  • 使用python如何提取JSON数据指定内容

    目录 python提取JSON数据指定内容 假设我们要获取'pic_str'里的数据 1.JSON数据为字符串类型 2.JSON数据为字典类型 python提取复杂JSON的数据 例子 解决方法 api 提取元素 应用场景 python提取JSON数据指定内容 假设我们要获取'pic_str'里的数据 JSON数据 {'err_no': 0, 'err_str': 'OK', 'pic_id': '1169213517976400008', 'pic_str': 'xoet', 'md5': '

  • php正则提取html图片(img)src地址与任意属性的方法

    简单版: <?php header("Content-Type: text/html;charset=utf-8"); $str = '<div class="ui-block-a" align="center"> <a href="online-39.html" rel="external nofollow" ><img class="lazy" w

  • java基于正则提取字符串中的数字功能【如提取短信中的验证码】

    本文实例讲述了java基于正则提取字符串中的数字功能.分享给大家供大家参考,具体如下: 使用Java正则可以很方便的从字符串中提取符合条件的内容. 1.提取字符串中所有的手机号: private void getPhoneNum(String smsBody) { Pattern pattern = Pattern.compile("(13|14|15|18)\\d{9}"); Matcher matcher = pattern.matcher(smsBody); while (mat

随机推荐