有下面一段HTML代码
<div><table id="draw_list"><thead><tr><td class="td1">开奖日期</td><td class="td2">期号</td><td class="td3">开奖号码</td><td class="td4">本期销量</td></tr></thead><tbody><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070265
</td><td class="td3"><span class="result"><span class="ball_1">02</span><span class="ball_1">01</span><span class="ball_1">08</span><span class="ball_1">10</span><span class="ball_1">06</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070264
</td><td class="td3"><span class="result"><span class="ball_1">05</span><span class="ball_1">06</span><span class="ball_1">07</span><span class="ball_1">04</span><span class="ball_1">10</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070263
</td><td class="td3"><span class="result"><span class="ball_1">05</span><span class="ball_1">10</span><span class="ball_1">07</span><span class="ball_1">04</span><span class="ball_1">08</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070262
</td><td class="td3"><span class="result"><span class="ball_1">08</span><span class="ball_1">11</span><span class="ball_1">09</span><span class="ball_1">03</span><span class="ball_1">06</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070261
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">02</span><span class="ball_1">05</span><span class="ball_1">01</span><span class="ball_1">09</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070260
</td><td class="td3"><span class="result"><span class="ball_1">04</span><span class="ball_1">07</span><span class="ball_1">10</span><span class="ball_1">01</span><span class="ball_1">03</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070259
</td><td class="td3"><span class="result"><span class="ball_1">07</span><span class="ball_1">01</span><span class="ball_1">06</span><span class="ball_1">10</span><span class="ball_1">04</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070258
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">09</span><span class="ball_1">10</span><span class="ball_1">01</span><span class="ball_1">11</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070257
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">11</span><span class="ball_1">02</span><span class="ball_1">10</span><span class="ball_1">07</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070256
</td><td class="td3"><span class="result"><span class="ball_1">08</span><span class="ball_1">04</span><span class="ball_1">06</span><span class="ball_1">07</span><span class="ball_1">09</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070255
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">11</span><span class="ball_1">10</span><span class="ball_1">05</span><span class="ball_1">04</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070254
</td><td class="td3"><span class="result"><span class="ball_1">10</span><span class="ball_1">07</span><span class="ball_1">08</span><span class="ball_1">09</span><span class="ball_1">11</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070253
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">11</span><span class="ball_1">02</span><span class="ball_1">05</span><span class="ball_1">08</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070252
</td><td class="td3"><span class="result"><span class="ball_1">07</span><span class="ball_1">02</span><span class="ball_1">01</span><span class="ball_1">05</span><span class="ball_1">03</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070251
....
....
其实抽出来有规律重复的,整理下,也就是下面这样的:<tr class="bgcolor1">
<td class="td1">2011-07-02</td>
<td class="td2">11070263</td>
<td class="td3"><span class="result">
<span class="ball_1">05</span>
<span class="ball_1">10</span>
<span class="ball_1">07</span>
<span class="ball_1">04</span>
<span class="ball_1">08</span>
</span>
</td>
<td class="td4">0</td>
</tr>
<tr class="bgcolor2">
<td class="td1">2011-07-02</td>
<td class="td2">11070262</td>
<td class="td3"><span class="result">
<span class="ball_1">08</span>
<span class="ball_1">11</span>
<span class="ball_1">09</span>
<span class="ball_1">03</span>
<span class="ball_1">06</span>
</span></td>
<td class="td4">0</td>
</tr>我希望将这些红色部分的取出来,并组成一个数组。
这个数组如果是 $a,那么它的值是:
$a = array (
[0] => (
['datetime'] => 11070263,
['num'] => 05,10,07,04,08
),
[1] => (
['datetime'] => 11070262,
['num'] => 08,11,09,03,06
)
......
.....
.....
.....
....
)
<div><table id="draw_list"><thead><tr><td class="td1">开奖日期</td><td class="td2">期号</td><td class="td3">开奖号码</td><td class="td4">本期销量</td></tr></thead><tbody><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070265
</td><td class="td3"><span class="result"><span class="ball_1">02</span><span class="ball_1">01</span><span class="ball_1">08</span><span class="ball_1">10</span><span class="ball_1">06</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070264
</td><td class="td3"><span class="result"><span class="ball_1">05</span><span class="ball_1">06</span><span class="ball_1">07</span><span class="ball_1">04</span><span class="ball_1">10</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070263
</td><td class="td3"><span class="result"><span class="ball_1">05</span><span class="ball_1">10</span><span class="ball_1">07</span><span class="ball_1">04</span><span class="ball_1">08</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070262
</td><td class="td3"><span class="result"><span class="ball_1">08</span><span class="ball_1">11</span><span class="ball_1">09</span><span class="ball_1">03</span><span class="ball_1">06</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070261
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">02</span><span class="ball_1">05</span><span class="ball_1">01</span><span class="ball_1">09</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070260
</td><td class="td3"><span class="result"><span class="ball_1">04</span><span class="ball_1">07</span><span class="ball_1">10</span><span class="ball_1">01</span><span class="ball_1">03</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070259
</td><td class="td3"><span class="result"><span class="ball_1">07</span><span class="ball_1">01</span><span class="ball_1">06</span><span class="ball_1">10</span><span class="ball_1">04</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070258
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">09</span><span class="ball_1">10</span><span class="ball_1">01</span><span class="ball_1">11</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070257
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">11</span><span class="ball_1">02</span><span class="ball_1">10</span><span class="ball_1">07</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070256
</td><td class="td3"><span class="result"><span class="ball_1">08</span><span class="ball_1">04</span><span class="ball_1">06</span><span class="ball_1">07</span><span class="ball_1">09</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070255
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">11</span><span class="ball_1">10</span><span class="ball_1">05</span><span class="ball_1">04</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070254
</td><td class="td3"><span class="result"><span class="ball_1">10</span><span class="ball_1">07</span><span class="ball_1">08</span><span class="ball_1">09</span><span class="ball_1">11</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070253
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">11</span><span class="ball_1">02</span><span class="ball_1">05</span><span class="ball_1">08</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070252
</td><td class="td3"><span class="result"><span class="ball_1">07</span><span class="ball_1">02</span><span class="ball_1">01</span><span class="ball_1">05</span><span class="ball_1">03</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070251
....
....
其实抽出来有规律重复的,整理下,也就是下面这样的:<tr class="bgcolor1">
<td class="td1">2011-07-02</td>
<td class="td2">11070263</td>
<td class="td3"><span class="result">
<span class="ball_1">05</span>
<span class="ball_1">10</span>
<span class="ball_1">07</span>
<span class="ball_1">04</span>
<span class="ball_1">08</span>
</span>
</td>
<td class="td4">0</td>
</tr>
<tr class="bgcolor2">
<td class="td1">2011-07-02</td>
<td class="td2">11070262</td>
<td class="td3"><span class="result">
<span class="ball_1">08</span>
<span class="ball_1">11</span>
<span class="ball_1">09</span>
<span class="ball_1">03</span>
<span class="ball_1">06</span>
</span></td>
<td class="td4">0</td>
</tr>我希望将这些红色部分的取出来,并组成一个数组。
这个数组如果是 $a,那么它的值是:
$a = array (
[0] => (
['datetime'] => 11070263,
['num'] => 05,10,07,04,08
),
[1] => (
['datetime'] => 11070262,
['num'] => 08,11,09,03,06
)
......
.....
.....
.....
....
)
$str= <<< HTML<div><table id="draw_list"><thead><tr><td class="td1">开奖日期</td><td class="td2">期号</td><td class="td3">开奖号码</td><td class="td4">本期销量</td></tr></thead><tbody><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070265
</td><td class="td3"><span class="result"><span class="ball_1">02</span><span class="ball_1">01</span><span class="ball_1">08</span><span class="ball_1">10</span><span class="ball_1">06</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070264
</td><td class="td3"><span class="result"><span class="ball_1">05</span><span class="ball_1">06</span><span class="ball_1">07</span><span class="ball_1">04</span><span class="ball_1">10</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070263
</td><td class="td3"><span class="result"><span class="ball_1">05</span><span class="ball_1">10</span><span class="ball_1">07</span><span class="ball_1">04</span><span class="ball_1">08</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070262
</td><td class="td3"><span class="result"><span class="ball_1">08</span><span class="ball_1">11</span><span class="ball_1">09</span><span class="ball_1">03</span><span class="ball_1">06</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070261
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">02</span><span class="ball_1">05</span><span class="ball_1">01</span><span class="ball_1">09</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070260
</td><td class="td3"><span class="result"><span class="ball_1">04</span><span class="ball_1">07</span><span class="ball_1">10</span><span class="ball_1">01</span><span class="ball_1">03</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070259
</td><td class="td3"><span class="result"><span class="ball_1">07</span><span class="ball_1">01</span><span class="ball_1">06</span><span class="ball_1">10</span><span class="ball_1">04</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070258
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">09</span><span class="ball_1">10</span><span class="ball_1">01</span><span class="ball_1">11</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070257
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">11</span><span class="ball_1">02</span><span class="ball_1">10</span><span class="ball_1">07</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070256
</td><td class="td3"><span class="result"><span class="ball_1">08</span><span class="ball_1">04</span><span class="ball_1">06</span><span class="ball_1">07</span><span class="ball_1">09</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070255
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">11</span><span class="ball_1">10</span><span class="ball_1">05</span><span class="ball_1">04</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070254
</td><td class="td3"><span class="result"><span class="ball_1">10</span><span class="ball_1">07</span><span class="ball_1">08</span><span class="ball_1">09</span><span class="ball_1">11</span></span></td><td class="td4">0</td></tr><tr class="bgcolor1"><td class="td1">2011-07-02</td><td class="td2">11070253
</td><td class="td3"><span class="result"><span class="ball_1">03</span><span class="ball_1">11</span><span class="ball_1">02</span><span class="ball_1">05</span><span class="ball_1">08</span></span></td><td class="td4">0</td></tr><tr class="bgcolor2"><td class="td1">2011-07-02</td><td class="td2">11070252
</td><td class="td3"><span class="result"><span class="ball_1">07</span><span class="ball_1">02</span><span class="ball_1">01</span><span class="ball_1">05</span><span class="ball_1">03</span></span></td><td class="td4">0</td></tr>
HTML;
//echo $str;preg_match_all('/<tr.+<td\s*class="td2">(.*)<\/td>.+<\/tr>/isU',$str,$arr);
unset($arr[0][0]);
unset($arr[1][0]);
print_r($arr);
foreach($arr[0] as $v){
preg_match_all('/<span\s*class="ball_1"[^>]*>(.*)<\/span>/isU',$v,$matches[]);
}
print_r($matches);
foreach(array_values($arr[1]) as $k=>$v1){
$ar[]=array('datetime'=>$v1,'num'=>join(',',$matches[$k][1]));
}
print_r($ar);Array
(
[0] => Array
(
[datetime] => 11070265
[num] => 02,01,08,10,06
) [1] => Array
(
[datetime] => 11070264
[num] => 05,06,07,04,10
) [2] => Array
(
[datetime] => 11070263
[num] => 05,10,07,04,08
) [3] => Array
(
[datetime] => 11070262
[num] => 08,11,09,03,06
) [4] => Array
(
[datetime] => 11070261
[num] => 03,02,05,01,09
) [5] => Array
(
[datetime] => 11070260
[num] => 04,07,10,01,03
) [6] => Array
(
[datetime] => 11070259
[num] => 07,01,06,10,04
) [7] => Array
(
[datetime] => 11070258
[num] => 03,09,10,01,11
) [8] => Array
(
[datetime] => 11070257
[num] => 03,11,02,10,07
) [9] => Array
(
[datetime] => 11070256
[num] => 08,04,06,07,09
) [10] => Array
(
[datetime] => 11070255
[num] => 03,11,10,05,04
) [11] => Array
(
[datetime] => 11070254
[num] => 10,07,08,09,11
) [12] => Array
(
[datetime] => 11070253
[num] => 03,11,02,05,08
) [13] => Array
(
[datetime] => 11070252
[num] => 07,02,01,05,03
))
echo "<pre/>";
//print_r($aa);
foreach($aa[0] as $key=>$s)
{
preg_match_all("/<span\s*class=\'ball_1\'>(.*)<\/span>/isU",$s,$ss[]);
}
$a = array();
foreach($ss as $key =>$s)
{
$a[$key]['datetime'] = $aa[1][$key];
$a[$key]['num'] = implode(',',$s[1]);
}
print_r($a);
$string = '楼主的字符串';
$pattern = '@<td\s+class="td2">(?<issue>\d+)</td><td\s+class="td3"><span\s+class="result">(?<number>(?:<span\s+class="ball_1">\d+</span>)*)</span></td>@i';
preg_match_all($pattern, $string, $matches);
$data = array(); //楼主要的那个数组
$pattern1 = '@.*?>(\d+)</span>@is';
$remlacement1 = '$1,';
foreach ($matches['issue'] as $k => $v) {
$num = preg_replace($pattern1, $remlacement1, $matches['number'][$k]);
$data[$k]['datetime'] = $v;
$data[$k]['num'] = trim($num, ',');
}