如何用正则提取图片

上一篇 / 下一篇  2007-11-23 23:47:07 / 个人分类:正则

如何用正则提取图片

$needm[1]中

<P style="TEXT-INDENT: 2em">
<P align=center><IMG alt=֣Ц̫ݣֱƮ(ͼ) src="http://img1.qq.com/ent/pics/7274/7274403.jpg" border=1 name=MM><BR></P>
<DIV style="FONT-SIZE: 10pt; FONT-FAMILY: " align=center>()֣Ľã


$pi='/<IMG alt\=(.*?) src\=\"(.*?)\" border\=1 name\=MM>/si';
preg_match($pi,$get,$needm[1]);
print_r ($get);
提取不出http://img1.qq.com/ent/pics/7274/7274403.jpg
$pi='/<img([^\/>]+)src="([^"]+)"([^\/>]+)\/>/is';
用这个正则也提取不出来

请教一下大虾你们是怎么做的
 
你的<没转义.
我认为如下
/\<img.*?src\=\"(.*?)\"[^>]*>/i

首先.你不确定src与img之间有些什么东西.或许是个空格.或者还有border等等.
所以要用.*?来设定所有字符.
 
 
 
 
复制PHP内容到剪贴板
PHP代码:

<?php
$image_html 
'<P align=center><IMG alt="abc" src="[url=http://img1.qq.com/ent/pics/7274/7274403.jpg]http://img1.qq.com/ent/pics/7274/7274403.jpg[/url]" border=1>'
;
preg_match_all('/<IMG alt="(.+?)" src="(.+?)"/i'$image_html$arr
);
print_r($arr
);
?>

/*************************************************************************************/
        
    //函数名:get_image_fromcontent( &$content)
        //作用:在含有HTML标签并带有图片的内容中过滤出图片地址(去除图片样式只保留图片地址)
        //参数:$content(待过滤的字符串)
        //返回值:字符串
        //备注:数据库中查询带图片的内容最有效的查询语句-- ***(查询项) REGEXP '<\s*img[^>]+src\s*=\s*[^>]+>'
        private function get_image_fromcontent( &$content)
        {
        //获取内容中图片
        //取得第一个匹配的图片路径
        $retimg="";
        $matches=null;
  //标准的src="xxxxx"或者src='xxxxx'写法
        preg_match("/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i", $content, $matches);
        if(isset($matches[2])){
                $retimg=$matches[2];
                unset($matches);
                return $retimg;
        }
        //非标准的src=xxxxx 写法
        unset($matches);
        $matches=null;
        preg_match("/<\s*img\s+[^>]*?src\s*=\s*(.*?)[\s\"\'>][^>]*?\/?\s*>/i", $content, $matches);
        if(isset($matches[1])){
                $retimg=$matches[1];
        }
        unset($matches);
        return $retimg;
        }
这个取图片的功能不错!代码加亮没搞好,将就点看,

 
 
 

TAG: 正则

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

数据统计

  • 访问量: 2831
  • 日志数: 24
  • 建立时间: 2007-08-18
  • 更新时间: 2008-02-27

RSS订阅

Open Toolbar