PHP提取数据库内容中的图片地址并循环输出

yipeiwu_com7年前PHP代码库
复制代码 代码如下:

/*
1 (?s) 代表 Pattern.DOTALL,也就是匹配换行,允许 img里出现在多行
2 .*?代表非贪婪匹配任意字符,直到后面的条件出现
3 ?: 代表这个匹配但不被捕获,也就是不在结果出现 [\.gif|\.jpg] 是或者的意思
*/
$pattern="/<img.*?src=[\'|\"](.*?(?:[\.gif|\.jpg]))[\'|\"].*?[\/]?>/";
$str='<p style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 200%;"><img border="0" src="upfiles/2009/07/1246430143_4.jpg" alt=""/></p><p style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 200%;"><img border="0" src="upfiles/2009/07/1246430143_3.jpg" alt=""/></p><p style="padding: 0px; margin-top: 0px; margin-bottom: 0px; line-height: 200%;"><img border="0" src="upfiles/2009/07/1246430143_1.jpg" alt=""/></p>';
preg_match_all($pattern,$str,$match);
print_r($match);
/*
Array
(
[0] => Array
(
[0] => <img border="0" src="upfiles/2009/07/1246430143_4.jpg" alt=""/>
[1] => <img border="0" src="upfiles/2009/07/1246430143_3.jpg" alt=""/>
[2] => <img border="0" src="upfiles/2009/07/1246430143_1.jpg" alt=""/>
)
[1] => Array
(
[0] => upfiles/2009/07/1246430143_4.jpg
[1] => upfiles/2009/07/1246430143_3.jpg
[2] => upfiles/2009/07/1246430143_1.jpg
)
)
*/

相关文章

在项目中寻找代码的坏命名

在项目中寻找代码的坏命名

常做的和常想的事情 晦涩的if条件 1)对于||的处理                   &...

ThinkPHP中RBAC类的四种用法分析

本文实例讲述了ThinkPHP中RBAC类的四种用法。分享给大家供大家参考。具体方法如下: 第一类:放在登陆控制器的登陆操作中 1.RBAC::authenticate(); 用于在用户...

php 获取可变函数参数的函数

func_num_args() 返回传递给该函数参数的个数 func_get_arg($arg_num) 取得指定位置的参数值,$arg_num位置index从0开始n-1。 func_...

php下网站防IP攻击代码,超级实用

今天我开发了下面的代码,算是大功初成,一天拦截了15个IP,服务器负载正常。 复制代码 代码如下: <?php //查询禁止IP $ip =$_SERVER['REMOTE_ADD...

php中file_get_content 和curl以及fopen 效率分析

三个函数虽然都是读取资源的函数,但各自的应用场景不同。 curl多用于互联网网页之间的抓取,fopen多用于读取文件,而file_get_contents多用于获取静态页面的内容。 1....