日期:2014-05-16  浏览次数:20417 次

正则截取html中的一段

<html>
<body>
.........
.........
<ul class="style5">
<li><a href="/profiles/83291221"><img src="/images/252754752" alt="标题标题" />标题标题</a></li>
<li><a href="/profiles/83291221"><img src="/images/252754752" alt="标题标题" />标题标题</a></li>
<li><a href="/profiles/83291221"><img src="/images/252754752" alt="标题标题" />标题标题</a></li>
</ul>
........
........

</body>

</html>




这样的循环  我要截取第一条,多的不要<li><a href="/profiles/83291221"><img src="/images/83291221" alt="标题标题" />标题标题</a></li> 中的"83291221" "标题标题"  这两个,另外把这两个转换成变量  求大神解@@@



------解决方案--------------------

preg_match_all("
------解决方案--------------------
<li><a href=[\"\']\/(.*)\/(.*)[\"\']><img(.*)>(.*)</a></li>
------解决方案--------------------
U", $str, $out);
$a = $out[2][0];
$b = $out[4][0];
echo "a::$a , b::$b";

------解决方案--------------------
preg_match('#<ul class="style5">(.+?)</ul>#s',$s,$m);
preg_match('#<li><a href="/profiles/(\d+)"><img[^>]+>(.+?)</a></li>#s',$m[1],$ar);
print_r($ar);