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];