//函数名: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;
        } 

解决方案 »

  1.   

    <?php
    $image_html = '<P align=center><IMG alt="abc" src="http://img1.qq.com/ent/pics/7274/7274403.jpg]http://img1.qq.com/ent/pics/7274/7274403.jpg" border=1>';
    preg_match_all('/<IMG.*?(?: |\\t|\\r|\\n)?src=[\'"]?(.+?)[\'"]?(?:(?: |\\t|\\r|\\n)+.*?)?>/sim', $image_html, $strResult);
    for($i = 0; $i < count($strResult[1]); $i++)
    {
        printf("%d %s \n", $i, $strResult[1][$i], $strResult[2][$i]);
    } ?>
      

  2.   

    可以使用ereg_replace替换为空就可以了
      

  3.   

    $str= '看看发一篇文章 <IMG SRC= "../images/49.gif">中有没图片 ';
    $patten   = '/<img.*?>/i';
    $str   =   preg_replace($patten,'',$str);
    echo   $str;替换,找到了一个正则,结贴。谢了
      

  4.   


    //提取url
    $pattern="|<img[^>]*?src="([^>]*?)".*?> |is";  //本匹配只匹配符合规xhtml规范的src属性
    $regcount=preg_match_all($pattern,$text,$arr,PREG_SET_ORDER);   //将正则结果存在substr数组中
    echo '<pre>';
    print_r($arr);
    echo '</pre>';
    //删除img
    preg_replace ('/<img.*?>/is','', $text )