html如下:<div class="c1">aa</div><a class="c2" href="任意网址">1111</a><a class="c2" href="任意网址">2222</a><a class="c2" href="任意网址">3333</a><div class="c1">bb</div><a class="c2" href="任意网址">1111</a><a class="c2" href="任意网址">2222</a><a class="c2" href="任意网址">3333</a><a class="c2" href="任意网址">444</a><div class="c1">cc</div><a class="c2" href="任意网址">55</a><a class="c2" href="任意网址">66</a>...我想读取html片断是<div>和后面跟着的几个<a>如下:$matches[0]:<div class="c1">aa</div><a class="c2" href="任意网址">1111</a><a class="c2" href="任意网址">2222</a><a class="c2" href="任意网址">3333</a>$matches[1]:<div class="c1">bb</div><a class="c2" href="任意网址">1111</a><a class="c2" href="任意网址">2222</a><a class="c2" href="任意网址">3333</a><a class="c2" href="任意网址">444</a>$matches[2]:<div class="c1">cc</div><a class="c2" href="任意网址">55</a><a class="c2" href="任意网址">66</a>通过正则如何得到$matches数组???
php正则表达式查找html内容的方法:preg_match('/<p align=\"center\"><big><strong>(.*?)<\/strong><\/big><\/p>/',$str,$result);代码解释:$str就是上面的html里面的内容;$result就是匹配到的字符串,可以print_r($result);看看里面就有你要的结果,或者直接echo $result[1];就是“在LINUX下配置MYSQL、PHP和JSP”这几个字符了。
preg_match_all('/<div\s+[^>]*>[^<>]*<\/div>(?:\s*<a\s+[^<>]*>[^<>]*<\/a>)*/',$htmltext,$matches,PREG_SET_ORDER); 追问 你好,如果每个之间有 ,如何写? 追答 preg_match_all('/]*>[^]*(?:\s*]*>(?:.(?!\/a>))*)+/s',$htmltext,$matches,PREG_SET_ORDER);