麻烦修改下php 正则提取指定DIV内容,我代码有小小问题
1个回答
展开全部
分两步, 先提取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);
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询