php正則匹配文件
⑴ php對html文件的多次正則匹配,我這么寫為什麼出錯了
$html1=<<<EOT
<tr><td><table cellpadding="0" cellspacing="0"><tr>
abcd
</tr></table></td></tr>
<tr><td><table cellpadding="0" cellspacing="0"><tr>
efgh
</tr></table></td></tr>
EOT;
preg_match_all("/<tr><td><table\s+cellpadding=\"0\" cellspacing=\"0\"><tr>\s+(.*?)\s+<\/tr><\/table><\/td><\/tr>/", $html1, $matches);
print_r($matches[1]);
⑵ php正則表達式按關鍵字搜索文件
$list=scandir('./help');$key=$_GET['k'];$dir=$_GET['dir'];//文件目錄,可以指定function key_search($dir){global $key;</p><p>$list=scandir($dir);</p><p>if($list){</p><p>foreach($list as $v){</p><p>if($v!='.' or $v!='..'){</p><p>$f=$dir.$v;</p><p>if(<strong>is_dir</strong> ($f)){scandir($f);}else{if(!stristr($v,$key)){echo $v;}}}}}else{echo $dir.'文件夾不存在';} 注:1,程序請自行測試2,子目錄可能需要檢查最後字元是否為/,如果不是,則添加。3,你的說明很有問題,一會兒要找,一會又說不包含。 }
⑶ php 用正則匹配最外層div下面的所有內容。如圖所示匹配<div class="zz">下面的所有內容。謝謝了
按照你圖片里的代碼,幫你做了一個示例,如下:
PHP代碼:
$str=file_get_contents('./ceshi.html');
preg_match('/<body>s+<divclass="zz">(.*)</div>s+</body>/s',$str,$result);
echo$result[1];
運行結果:
正則中的s+是為了匹配body與div中的換行以及縮進符。如果在匹配前已經將換行以及縮進符都替換掉了可以不加s+。
如果不明,可繼續追問。
⑷ php 正則表達式 url匹配
1,preg_grep(pattern,array);它的返回值是一個新數組,新數組的元素是成功匹配的元素。
⑸ php如何使用正則表達式匹配url圖片啊
可以這樣:
$image="http://xxxxxxxxx.jpg"
preg_match("/(http://)?w+.jpg/",$image,$matches);//http://可要可不要
echo$matches[0];//$matches[0]即為匹配的圖片路徑
以上只是匹配jpg類型的圖片
如果要匹配其他類型可以這樣使用
preg_match("/(http://)?w+.(jpg|jpeg|gif|png)/",$image,$matches);
echo$matches[0];