php正则imgsrc
❶ 如何取出img标签的正则表达式(php)
下面我提供点写法:
<?php
$html='<imgsrc="/Cms/Upload/image/20140912/20140912041822_11373.png"alt=""/>
<imgsrc="/Cms/Upload/image/20140912/20140912041822_11373.png"alt=""width="233"/>
<imgsrc="/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($tripas$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);
?>
❷ php 正则匹配 获取img的src,过滤后显示统一的格式
没人回来,可能就是替换上比较难达成,主要是这匹配非字符串不行。
那换个思路,<img ....> 这个格式是固定的,可以忽略,那么重要的是src及等号后的这串字符。那么就有方法了。
$a='要匹配的字符串'
//$b即用来存储搜索的结果。
preg_match_all('/src=[^s>]*/',$a,$b);
for($i=0;$i<count($b[0]);$i++){
echo'<img'.$b[0][$i].'>';
}
这样所得到的结果基本上就等于是你所想要的结果。
❸ php 正则判断img标签
$content='<imgsrc="1.jpg"alt="">我是文字<imgsrc="2.jpg"alt="">';
if(preg_match_all("/<img[^>]*src[="'s]+([^"']*)["']?[^>]*>((?:(?!<img)[sS])*)/i",$content,$m)){
for($j=1;$j<count($m);$j++){
for($i=0;$i<count($m[$j]);$i++){
echo$m[$j][$i]." ";
}
}
}
❹ php获取html标签image的src内容 正则表达式
php获取html标签image的src内容 正则表达式写法如下:
$str = '<img width="100" src="1.gif" height="100">';
preg_match_all('/<img.*?src="(.*?)".*?>/is',$str,$array);
print_r($array);
php对图片的操作正则表达式详解:
//1、取整个图片代码
preg_match('/<\s*img\s+[^>]*?src\s*=\s*(\'|\")(.*?)\\1[^>]*?\/?\s*>/i',$str,$match);
echo $match[0];
//2、取width
preg_match('/<img.+(width=\"?\d*\"?).+>/i',$str,$match);
echo $match[1];
//3、取height
preg_match('/<img.+(height=\"?\d*\"?).+>/i',$str,$match);
echo $match[1];
//4、取src
preg_match('/<img.+src=\"?(.+\.(jpg|gif|bmp|bnp|png))\"?.+>/i',$str,$match);
echo $match[1];
/*PHP正则替换图片img标记中的任意属性*/
//1、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg")
print preg_replace('/(<img.+src=\"?.+)(images\/)(.+\.(jpg|gif|bmp|bnp|png)\"?.+>)/i',"\${1}uc/images/\${3}",$str);
echo "<hr/>";
//2、将src="/uploads/images/20100516000.jpg"替换为src="/uploads/uc/images/20100516000.jpg",并省去宽和高
print preg_replace('/(<img).+(src=\"?.+)images\/(.+\.(jpg|gif|bmp|bnp|png)\"?).+>/i',"\${1} \${2}uc/images/\${3}>",$str);
?>
❺ PHP匹配图片地址SRC的正则
不用循环,PHP提供一个preg_match_all函数的。
preg_match_all("/<img.*?src=[\\\'| \\\"](.*?(?:[\.gif|\.jpg]))[\\\'|\\\"].*?[\/]?>/",$content_2,$getPicPath); //正则获取文章中的<img>标签
上面就是我曾经用过的获取图片的正则。希望能帮到你
❻ php简单正则匹配Img标签src内容采集
//抓取网页
echo" 抓取网页======================================= ";
functiongetHTTPS($url){
$ch=curl_init();
curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
curl_setopt($ch,CURLOPT_HEADER,false);
curl_setopt($ch,CURLOPT_FOLLOWLOCATION,true);
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_REFERER,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
$result=curl_exec($ch);
curl_close($ch);
return$result;
}
$result=getHTTPS("");
$array=array(
'img',
'script',
'link'
);
$num=count($array);
for($i=0;$i<$num;++$i){
echo$array[$i]."-------------------------------- ";
if(preg_match_all("/<".$array[$i]."[^>]*>/i",$result,$m)){
for($j=0;$j<count($m[0]);$j++){
echo$m[0][$j]." ";
}
}
}
❼ php 正则替换img路径
思路是,读取CSS样式文件,正则取出所有url路径;然后,再用和unlink更换路径。代码如下:
<?php
$str=file_get_contents("layout.css");
preg_match_all("/url\((.*)\) /",$str,$out);
foreach($out[1] as $v){
$new=str_replace("../pic","img",$v);//设置新路径
if(file_exists($v)){//判断是否存在
($v,$new);//复制到新目录
unlink($v);//删除老文件
}else{
echo $v."<br/>";//如果不存在,就输出文件目录+文件名
}
}
?>
你可以去后盾人平台看看,里面有很多学习视频,还有线上直播,我也在那里学习
❽ php如何图片正则给img标签的src添加前后缀
这不需要正则,正则性能很差的
str_replace函数就能处理
❾ php 正则 <a ></a> 中的 href 和img 地址
针对给定的标本数据,编写如下正则供参考:
1、提取 jpg 地址链接
"(http://.*?.jpg)"
2、提取 a href 或是 img src 标签中的 jpg 地址链接
[href|src]="(http://.*?.jpg)"
3、提取<a></a>标签中的 jpg 地址链接
(<a.*)(http://.*.jpg)(".*")(http:/.*.jpg)(".*)</a>
❿ php 正则怎样匹配img标签的src内容
<metahttp-equiv="Content-Type"content="text/html;charset=utf-8"/><?php
//代码直接运行即可
$str='eeeeeee<imgsrc="aaaa.jpg"/>asad';
preg_match('/<imgsrc="(.*?)"//',$str,$result);
print_r($result['1']);
die();
?>