如何取出img标签的正则表达式(php)

发布网友 发布时间:2022-04-06 01:01

我来回答

3个回答

热心网友 时间:2022-04-06 02:31

下面我提供点写法:

<?php 
$html='<img src="/Cms/Upload/image/20140912/20140912041822_11373.png" alt="" />
       <img src="/Cms/Upload/image/20140912/20140912041822_11373.png" alt="" width="233" />
    <img src="/Cms/Upload/image/20140912/20140912041822_11373.png" alt="" height="400" />
   ';

$trip=array('width','height');//过滤的标签,这个根据需要修改
preg_match_all('/<img[^>]*\>/',$html,$match);//匹配img标签
$res=array();//结果存放
foreach($match[0] as $val)
{
$flag=true;//是否满足条件
foreach($trip as $s)
{
   if(preg_match('/'.$s.'/',$val))//查到在过滤的标签中,不满足条件
{
   $flag=false;
   break;
    }
}
if($flag)
{
   preg_match_all('/image[^\"]*"/',$val,$temp);//满足条件取出类似image/20140912/20140912041822_11373.png"这一段
   $res[]=substr(substr($temp[0][0],0,-1),6);//取出类似20140912/20140912041822_11373.png这一段,并存放到结果数组中
}

}

var_mp($res);

?>

  

热心网友 时间:2022-04-06 03:49

例子代码:

<?php 
  $s='<img src="/Cms/Upload/image/20140912/20140912041822_11373.png" alt="" />这个里面取出20140912041822_11373.png';
  if (preg_match('|<img[^>]+src="([^"]+)"|i',$s,$r)) echo $r[1];
?>

上面的代码把src的文件全名取出来了的,如果你只要文件名,可以删除/之前的所有内容,这个处理应该不难了吧。

热心网友 时间:2022-04-06 05:23

$str = '[img]http://www.baidu.com/img/bdlogo.gif[/img]百度百度[img]http://127.0.0.1/jx09/p_w_upload/Mon_1308/196_403966_392c1785279171a.png[/img]<p>sssss</p>';preg_match_all("|\[img\](.*)\[/img\]|isU",$str,$myarr);print"<pre>";print_r($myarr[0]);print"</pre>";

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com