php curl使用正则表达式preg_match_all问题

时间:2014-06-20 16:15:12

标签: php preg-match-all

我在php中使用以下代码从表中提取数据。匹配的输出是整个匹配,即

<td align=right>1</td>
<td align=right>1</td> etc...

我想要做的只是返回表格中的数字。如何更改我的preg_match_all来做到这一点?

//gets the site
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, 'http://site.org');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$response = curl_exec($ch); 

//parse the data
preg_match_all('/<td align=right>(\d+?)<\/td>/', $response, $matches2);

//prints the parsed data
print_r($matches2[0]);.

以下是该表的示例。

<center><table border=1><tr><th align=left>Address</th><th width=50>0</th><th width=50>1</th><th width=50>2</th><th width=50>3</th><th width=50>4</th><th width=50>5</th><th width=50>6</th><th width=50>7</th><th width=50>8</th><th width=50>9</th></tr><tr><td>N7:0</td>
<td align=right>1</td>
<td align=right>1</td>
<td align=right>1</td>
<td align=right>99</td>
<td align=right>0</td>
<td align=right>0</td>
<td align=right>0</td>
<td align=right>0</td>
<td align=right>0</td>
<td align=right>0</td>
</tr><tr><td>N7:10</td>
<td align=right>0</td>
<td align=right>7300</td>
<td align=right>16400</td>
<td align=right>3300</td>
<td align=right>2200</td>
<td align=right>6100</td>
<td align=right>28000</td>
<td align=right>18000</td>
<td align=right>0</td>
<td align=right>0</td>
</tr></table></center><hr width=25% align=center>

0 个答案:

没有答案