如何取出img标签的正则表达式(php)
从<imgsrc="/Cms/Upload/image/20140912/20140912041822_11373.png"alt=""/>这个里面取出201409120...
从<img src="/Cms/Upload/image/20140912/20140912041822_11373.png" alt="" />这个里面取出20140912041822_11373.png这一段,只取出这一类的,里面还有其他的img标签,其他的属性比较多,这个只有alt="".
展开
3个回答
展开全部
下面我提供点写法:
<?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_dump($res);
?>
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
例子代码:
<?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的文件全名取出来了的,如果你只要文件名,可以删除/之前的所有内容,这个处理应该不难了吧。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
$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>";
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询