『壹』 請問怎樣用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 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正則表達式給圖片添加超鏈接,href的值為圖片src的值
PHP的不會寫
匹配的正則表達式:
<imgs*src="([^"]+)"(s*title[sS]+?>)
匹配的結果為:
$1為1.jpg
$2為title="123.jpg"alt="論壇活動"/>
替換的時候使用1與2即可
替換字元串:
<ahref="1"><imgsrc="/url.html?1"2</a>
『肆』 HTML中img標簽的src填本地絕對路徑無法顯示
在php中,可以通過正則表達式來獲得img標簽的src內容,下派培面分享下php如何獲取html標簽img的src內頌橋容。
1、首先新建一個php文件,命名為test.php,在test.php文件中,將img圖片塵櫻唯標簽存在$html變數中。
『伍』 求php中正則表達式從html代碼中獲取圖片路徑
<?php
$test = '<p>444<img height="768" width="1024" alt="" src="/uploadfiles/28/Tree.jpg" /></p>
<p>444<img height="768" width="1024" alt="" src="/uploadfiles/sf/Tree.jpg" /></p>
fsdafasdfasdfasdf
<p>444<img height="768" width="1024" alt="" src="/uploadfiles/28/elm.jpg" /></p>
sdfasdfasdf<p>
<p>444<img height="768" width="1024" alt="" src="/uploadfiles/28/maple.jpg" /></p>
sdf32414撒旦發是否
<p>444<img height="768" width="1024" alt="" src="/uploadfiles/40/Tree.jpg" /></p>';
preg_match_all("/<p>.*src=\"([^^]*?)\".*<\/p>/i",$test,$match);
print_r($match[1]);
?>
這樣應該可以,我試的多行的,中間還夾雜一些字元,沒什麼問題,呵呵