正则表达式匹配网页
有如下网页内容,<\/br><\/br>1、学号名字年龄0025李华天16114<\/br><\/br>考试1语文数学<\/br>(1)月考8590<\/br>(2)期中...
有如下网页内容,
<\/br><\/br>1、学号 名字 年龄 0025 李华天 161 14 <\/br><\/br> 考试1 语文 数学 <\/br>(1)月考 85 90 <\/br>(2)期中考试 83 85<\/br>(3)期末考试 80 78<\/br><\/br>考试2 语文均分 数学均分 <\/br>(1)期中考试 80 81<\/br>(2)期末考试 70 75<\/br><\/br> 2、学号 名字 身高 年龄 0026 秦雪涛 14.......
想得到的结果:
学号 考试成绩1 语文 数学 考试成绩2 语文均分 数学均分
0025 月考 85 90 期中考试 80 81
0025 期中考试 83 85 期末考试 70 75
0025 期末考试 80 78
其中考试1和考试2中(1),(2),(3)的条数不一定,可能还有(4),(5),也可能只有(1),(2);最后'.......'后面的与前面一段内容都一致,都是这种格式 展开
<\/br><\/br>1、学号 名字 年龄 0025 李华天 161 14 <\/br><\/br> 考试1 语文 数学 <\/br>(1)月考 85 90 <\/br>(2)期中考试 83 85<\/br>(3)期末考试 80 78<\/br><\/br>考试2 语文均分 数学均分 <\/br>(1)期中考试 80 81<\/br>(2)期末考试 70 75<\/br><\/br> 2、学号 名字 身高 年龄 0026 秦雪涛 14.......
想得到的结果:
学号 考试成绩1 语文 数学 考试成绩2 语文均分 数学均分
0025 月考 85 90 期中考试 80 81
0025 期中考试 83 85 期末考试 70 75
0025 期末考试 80 78
其中考试1和考试2中(1),(2),(3)的条数不一定,可能还有(4),(5),也可能只有(1),(2);最后'.......'后面的与前面一段内容都一致,都是这种格式 展开
展开全部
如果你要<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码,用 preg_match 就可以,不用preg_match_all ,如果你要里面的所有的 <li></li>标签中的内容,可以用preg_match_all
//提取所有代码
$pattern = '/<div class="nav" monkey="nav">(.+?)<div class="head-ad">/is';
preg_match($pattern, $string, $match);
//$match[0] 即为<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码
echo $match[0];
//然后再提取<li></li>之间的内容
$pattern = '/<li.*?>(.+?)<\/li>/is';
preg_match_all($pattern, $match[0], $results);
$new_arr=array_unique($results[0]);
foreach($new_arr as $kkk){
echo $kkk;
}
//提取所有代码
$pattern = '/<div class="nav" monkey="nav">(.+?)<div class="head-ad">/is';
preg_match($pattern, $string, $match);
//$match[0] 即为<div class="nav" monkey="nav">和<div class="head-ad">之间的所有源码
echo $match[0];
//然后再提取<li></li>之间的内容
$pattern = '/<li.*?>(.+?)<\/li>/is';
preg_match_all($pattern, $match[0], $results);
$new_arr=array_unique($results[0]);
foreach($new_arr as $kkk){
echo $kkk;
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询