導航:首頁 > 編程語言 > php正則匹配圖片地址

php正則匹配圖片地址

發布時間:2023-01-31 07:27:39

php中用正則表達式獲取html中所有圖片網址

<?php
$html='你的html代碼';
preg_match_all('/s+srcs?=s?['|"]([^'|"]*)/is',$html,$Array);
print_r($Array);
//$Array就是你想要的數組

❷ php如何使用正則表達式匹配url圖片啊

$image='<imgsrc="/avatar/100/r6s1g11.jpg"/>';
preg_match('/src="(.*?(jpg|jpeg|gif|png))/',$image,$url);
echo$url[1];

網頁上的圖片都是使用IMG標簽載入的,所以在匹配的時候是以src=" 開始匹配,很多人會覺得為什麼不是以 http:// 開始匹配,那是因為圖片地址會有相對地址(如:"/xxx/xxx.jpg")和絕對地址(如:"http://www.xxx.com/xxx/xxx.jpg")兩種情況,相對地址是沒有http:// 的,所以為了這兩種情況都能匹配,故以src=" 是最好的。

".*" 是匹配多個字元的意思,?號的意思是只匹配到第一個出現的jpg或jpeg、gif、png。

因為圖片有很多格式類型,所以用"(jpg|jpeg|gif|png)"來匹配多個類型,"|"是或者的意思。

❸ 如何用PHP正則替換圖片的域名地址

preg_replace('/src="A.com/','src="B.com',$body);

❹ php正則表達式替換圖片地址

<?php

/*PHP正則提取圖片img標記中的任意屬性*/
$str = '<center><img src="/uploads/images/20100516000.jpg" height="120" width="120"><br />PHP正則提取或更改圖片img標記中的任意屬性</center>';

//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如何正則匹配alt><p></p><img和</div><p></p><div>

1,過濾所有html標簽的正則表達式:</?[^>]+>
2,過濾所有html標簽的屬性的正則表達式:$html = preg_replace("/<([a-zA-Z]+)[^>]*>/","<\\1>",$html);
3,過濾部分html標簽的正則表達式的排除式(比如排除<p>,即不過濾<p>):</?[^pP/>]+>
4,過濾部分html標簽的正則表達式的枚舉式(比如需要過濾<a><p><b>等):</?[aApPbB][^>]*>
5,過濾部分html標簽的屬性的正則表達式的排除式(比如排除alt屬性,即不過濾alt屬性):\s(?!alt)[a-zA-Z]+=[^\s]*

❻ php preg_match_all()函數怎麼匹配文章中的所有圖片鏈接並列印出來

<?php
$Html=@file_get_contents('5.html');
$Html=preg_replace('/s{2,}| /i','',$Html);//過濾掉換行和2個以上的空格
preg_match_all('/<imgs+[^>]*srcs?=s?['|"]([^'|"]*)['|"]/i',$Html,$Image);
print_r($Image);

圖片,通常情況下,無論有什麼屬性,他最基本的有2點,<img開頭, 有src屬性!

那麼只要匹配到這2個特徵,其他的就別管他,這樣,所有圖片就出來了

❼ 請問怎樣用php 正則表達式取設置寬和高的[img][/img]標簽裡面的圖片地址

用php給你運行了一個

$txt='[img=442,296]圖片地址1[/img]
[img=300,188]圖片地址2[/img]
[img=120,206]圖片地址3[/img]';
$re='/[img=(d+,d+)](S+?)[/img]/';//這里修改下,加上一個?防止以單行文本導致的定界符不準問題
$arr=[];
preg_match_all($re,$txt,$arr);
var_mp($arr);

運行結果如下

phptest.php
array(3){
[0]=>
array(3){
[0]=>
string(32)"[img=442,296]圖片地址1[/img]"
[1]=>
string(32)"[img=300,188]圖片地址2[/img]"
[2]=>
string(32)"[img=120,206]圖片地址3[/img]"
}
[1]=>
array(3){
[0]=>
string(7)"442,296"
[1]=>
string(7)"300,188"
[2]=>
string(7)"120,206"
}
[2]=>
array(3){
[0]=>
string(13)"圖片地址1"
[1]=>
string(13)"圖片地址2"
[2]=>
string(13)"圖片地址3"
}
}

//增加一個矩陣轉換
$txt='[img=442,296]圖片地址1[/img][img=300,188]圖片地址2[/img][img=120,206]圖片地址3[/img][img=120,206]wwww[/img]';
$re='/[img=(d+,d+)](S+?)[/img]/';

var_mp(preg_match_all_to_array($re,$txt));

functionpreg_match_all_to_array($re,$txt)
{
$arrs=[];
preg_match_all($re,$txt,$arrs);
if($arrs===false)
return$arrs;
//移除到總匹配數據
array_shift($arrs);
$return=[];
//獲取矩陣縱長
$arrs_longitudinal=count($arrs);
for($i=0;$i<$arrs_longitudinal;$i++){
//獲取單列橫長
$arrs_transverse=count($arrs[$i]);
for($j=0;$j<$arrs_transverse;$j++){
$return[$j][$i]=$arrs[$i][$j];
unset($arrs[$i][$j]);
}
unset($arrs[$i]);
}
return$return;
}

❽ PHP正則markdown文本中圖片的地址

❾ php正則匹配img標簽,並刪除

$str = 'alksdfjlaksj<img src="21412">';
$str = strip_tags($str,'img');
echo $str;

❿ preg_match_all() | php正則匹配圖片路徑,怎麼取完整的圖片鏈接。帶http開頭,求解決

你的正則應景可以完美匹配了,結果出現相對地址的原因可能是你的圖片地址本來就不是絕對地址。
var_mp($img_array[2]);

閱讀全文

與php正則匹配圖片地址相關的資料

熱點內容
讓孩子感興趣編程的電影 瀏覽:258
用顏料製作脆皮解壓球 瀏覽:931
火箭解壓器 瀏覽:71
cnet中級程序員面試題 瀏覽:189
單片機怎麼做人臉識別 瀏覽:151
監獄辦理工商銀行app怎麼辦呢 瀏覽:816
c語言寫編程時需要用什麼輸入法 瀏覽:587
生發程序員 瀏覽:164
高考英語pdf 瀏覽:415
哈利波特忘記伺服器怎麼辦 瀏覽:821
怎麼看其他電腦共享文件夾 瀏覽:510
py文件夾後綴 瀏覽:720
你對我們的app有什麼建議 瀏覽:583
phpgetcookie 瀏覽:144
程序員最煩遇到的單詞 瀏覽:124
開始伺服器升級需要什麼 瀏覽:984
gcc中的編譯選項 瀏覽:192
程序員長沙開滴滴 瀏覽:138
十幾加幾的進位加法演算法 瀏覽:388
c語言實現字母加密成字母 瀏覽:332