㈠ 請問怎樣用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正則表達式 提取圖片鏈接
/\<a[^>]+href=['"]([^'"]+)['"][^\>]+\>[^<]*\<img[^>]+src=['"]([^'"]+)['"][^>]*\>/i
php裡面注意引號的轉義
㈢ PHP急求如何用一個正則表達式匹配出下圖中id的值與title的內容並保存為id=693,title=A AC寶馬這樣的格式
<?php
$str='[{"id":"123","title":"title","text":"text"},{"id":"1231","title":"title1","text":"text1"}]';
preg_match_all('/"id":"(d+)","title":"(.*?)",/is',$str,$matched,PREG_SET_ORDER);
foreach($matchedas$row){
echo'id='.$row[1].',title='.$row[2].'<br/>';
}
//如果是完整json字元串,直接解析更好
echo"<pre>";
print_r(json_decode($str,true));
echo"</pre>";
exit;
㈣ php 正則表達式怎麼把圖片URL匹配出來呢
使用preg_match_all函數,即可實現你的要求。代碼如下:
$str='<imgdatasrc="http://mm..com/mmbiz/2ItUdTx3iamOFK8QVqofnQ/640?tp=webp"data-s="300,640"data-ratio="0.625"data-w="400"style="box-sizing:border-box!important;width:auto!important;word-wrap:break-word!important;visibility:visible!important;"/>';
$pattern='/<img.*src="(.*?)"/';
preg_match_all($pattern,$str,$matches);
echo$matches[1][0];
//返回:http://mm..com/mmbiz/2ItUdTx3iamOFK8QVqofnQ/640?tp=webp
㈤ php如何使用正則表達式匹配url圖片啊
$pregRule = "/<[img|IMG].*?src=[\'|\"](.*?(?:[\.jpg|\.jpeg|\.png|\.gif|\.bmp]))[\'|\"].*?[\/]?>/";
正則匹配URL圖片
㈥ 請教!php 正則表達式匹配圖片問題。
<?php
$str = preg_replace("/height='[0-9]+?'/","width='100%'",$str);
?>
函數例子:http://hi-docs.com/php/preg_replace.html
㈦ php匹配正則表達式
<?php
$content="ad你好asd/dasds*@~as/d,.^asdasda.jpg,11/das,看看ds*~as/d.^asdasda.jpg,1&1/dd,s*~as/d,.^asda.png";
if(preg_match_all("/[^,][wW]+?.(jpg|gif|png)/s",$content,$matches)){
var_mp($matches[0]);
}
?>
㈧ php正則表達式[img=**]
按照你的要求編寫的php程序如下(見圖,正則匹配結果取第一和第二捕獲組的數據)
㈨ 急求 php正則表達式匹配16個數字名字的圖片 如 1470311681602444.jpg
路過而已,但是另外一個答案寫錯了,所以就糾正一下吧。不應該用 [] 應該用 ()
preg_match('#d{16}.(jpg|png|gif|jpeg|bmp)#',$str);
如果要判斷字元串是不是完全符合這個規則要加上 ^ 和 $
preg_match('#^d{16}.(jpg|png|gif|jpeg|bmp)$#',$str);
㈩ PHP正則表達式為什麼死活無法匹配圖片,一到引號[\"]或者<,還有[.]就匹配不了,為什麼,急求
在正則表達式中,若要匹配以下單個字元,都需要用反斜杠("\")進行轉義:"\"、"?"、"*"、"^"、"$"、"+"、"("、")"、"|"、"{"、"["