麻烦修改下php 正则提取指定DIV内容,我代码有小小问题

 我来答
你爱我像谁平
2017-04-21 · 超过10用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:20.6万
展开全部

分两步, 先提取hintBox区域内容,再提取a标签。

<?php
$html = '
其他区域
<div class="other" > <table id="hint_container" class="hint"><caption>正则测试</caption><tr><td><a href="?url_123123" id="99999_1">内容1</a></td> <td><a href="?url_123123" id="99999_2">内容2</a></td> </tr></table></div>
目标区域
<div class="hintBox" > <table id="hint_container" class="hint"><caption>正则测试</caption><tr><td><a href="?url_123123" id="99999_1">内容1</a></td> <td><a href="?url_123123" id="99999_2">内容2</a></td> <td><a href="?url_123123" id="99999_3">内容3</a></td> <td><a href="?url_123123" id="99999_4">内容4</a></td> <td><a href="?url_123123" id="99999_5">内容5</a></td> </tr><tr><td><a href="?url_123123" id="99999_6">内容6</a></td> <td><a href="?url_123123" id="99999_7">内容7</a></td> <td><a href="?url_123123" id="99999_8">内容8</a></td> <td><a href="?url_123123" id="99999_9">内容9</a></td> <td><a href="?url_123123" id="99999_10">内容10</a></td> </tr><tr><td><a href="?url_123123" id="99999_11">内容11</a></td> <td><a href="?url_123123" id="99999_12">内容12</a></td> <td><a href="?url_123123" id="99999_13">内容13</a></td> <td><a href="?url_123123" id="99999_14">内容14</a></td> <td><a href="?url_123123" id="99999_15">内容15</a></td> </tr></table></div>';

//先提取hintBox区域
preg_match_all('/<div\s*class="hintBox"\s*>.*?<\/div>/is', $html, $contents);
$html = $contents[0][0];


$listNumberStr = "/<td><a.*?>.*?<\/a><\/td>/ism";
preg_match_all($listNumberStr, $html, $list);
$my_array = array($list);
shuffle($my_array);
print_r($my_array);

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式