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();
?>