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="https://www.phpfensi.com/uploads/image/20140420/13979336569926.jpg" />
- <img src="https://www.phpfensi.com/13979336569926.jpg" />';
- preg_match('#<img src="(?!http:\/\/img.baidu)([^"]+)"#', $contents,$matches);
- var_dump($matches);
- //运行结果
- /*
- array (size=2)
- 0 => string '<img src="https://www.phpfensi.com/uploads/image/20140420/13979336569926.jpg"' (length=77)
- 1 => string 'https://www.phpfensi.com/uploads/image/20140420/13979336569926.jpg' (length=66)
- */