本文目錄一覽:
- 1、php 正則判斷img標籤
- 2、php正則匹配img標籤,並刪除
- 3、php中正則匹配img標籤,並且替換了。
- 4、php 正則替換img路徑
- 5、如何取出img標籤的正則表達式(php)
- 6、php 正則替換所有img標籤並且去掉多餘屬性
php 正則判斷img標籤
$content = ‘img src=”1.jpg” alt=””我是文字img src=”2.jpg” alt=””‘;
if (preg_match_all ( “/img[^]*src[=\”\’\s]+([^\”\’]*)[\”\’]?[^]*((?:(?!img\b)[\s\S])*)/i”, $content, $m )) {
for($j = 1; $j count ( $m ); $j ++) {
for($i = 0; $i count ( $m [$j] ); $i ++) {
echo $m [$j] [$i] . “\n”;
}
}
}
php正則匹配img標籤,並刪除
$str = ‘alksdfjlaksjimg src=”21412″‘;
$str = strip_tags($str,’img’);
echo $str;
php中正則匹配img標籤,並且替換了。
你看看這個吧:
?php
function change_str($string)
{
preg_match_all(‘|(.*)src=”(.*)”(.*)|isU’,$string,$main);
$newstring = “”;
foreach($main[1] as $key = $value )
{
$newstring .= $value;
if (strpos($main[2][$key],”.jpg”) or strpos($main[2][$key],”.gif”) )
{
if ( strpos($main[2][$key],”http://”) === false )
$main[2][$key] = “http://”.$main[2][$key];
}
$newstring .= ‘src=”‘.$main[2][$key].'”‘;
$newstring .= $main[3][$key];
}
return $newstring;
}
$mystr = “”;//你的字元串;
echo change_str($mystr);
?
php 正則替換img路徑
思路是,讀取CSS樣式文件,正則取出所有url路徑;然後,再用copy和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)){//判斷是否存在
copy($v,$new);//複製到新目錄
unlink($v);//刪除老文件
}else{
echo $v.”br/”;//如果不存在,就輸出文件目錄+文件名
}
}
?
你可以去後盾人平台看看,裡面有很多學習視頻,還有線上直播,我也在那裡學習
如何取出img標籤的正則表達式(php)
下面我提供點寫法:
?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 正則替換所有img標籤並且去掉多餘屬性
//寫的一個正則,你試試
preg_replace(“/img\s*src=(\”|\’)(.*?)\\1[^]*/is”,’img src=”$2″ /’, $str)
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/259666.html