curl php grep到一个变量进行打印

时间:2014-06-18 13:37:39

标签: php curl

我在dom中尝试了一些不同的东西,但还没有任何工作。我还有很多需要学习的东西。提前感谢您的帮助。

这个问题与我之前发布的问题不同。前面是一个shell脚本,用于向数据库输入信息。我需要走另一个方向。这个问题只是在PHP中解析数据并将其分配给变量,因此我只能显示相关信息 - 没有数据库或shell脚本,只有php。我可以在php中使用正则表达式吗...喜欢:     grep -Po'[0-9] +(?= [^ 0-9] +(C5:2< | C5:6< | C5:13))'

我的网络上有一个设备,它为一台设备提供了一个信息表。我需要能够卷曲网站,然后将表中的值解析为变量。以下是设备提供的内容。有人可以帮我解决如何将表中的数据解析为变量吗?特别是我正在寻找C5:1和C5:5末尾的数字,在这个例子中目前的值为191和1506。

<html><head><title>Data Table Monitor</title></head>
<body bgcolor="#ffffff"><center>
<h2><font face="helvetica">Ethernet Processor</font></h2>
<h2><i>Data Table Monitor</i></h2>
<hr width=25% align=center>
<meta HTTP-EQUIV="refresh" CONTENT="15"><body bgcolor="#ffffff"><center><table border=1><tr><th>Address</th><th>CU</th><th>CD</th><th>DN</th><th>OV</th><th>UN</th>    <th>UA</th><th>PRE</th><th>ACC</th><th>Address</th><th>CU</th><th>CD</th><th>DN</th><th>OV</th><th>UN</th><th>PRE</th><th>ACC</th></tr><tr><td>C5:0</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>10</td><td align=right>0</td><td>C5:1</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>32000</td>    <td align=right>191</td></tr><tr><td>C5:2</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>32000</td>    <td align=right>2</td><td>C5:3</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>0</td><td align=right>0</td></tr><tr><td>C5:4</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>0</td><td align=right>0</td><td>C5:5</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>32000</td>   <td align=right>1506</td></tr><tr><td>C5:6</td>
<td align=center>1</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>32000</td><td align=right>0</td><td>C5:7</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>0</td><td align=right>0</td></tr><tr><td>C5:8</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>0</td><td align=right>0</td><td>C5:9</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>0</td><td align=right>0</td></tr><tr><td>C5:10</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>32000</td><td align=right>717</td><td>C5:11</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>32000</td><td align=right>70</td></tr><tr><td>C5:12</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>32000</td><td align=right>187</td><td>C5:13</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>32000</td><td align=right>1506</td></tr><tr><td>C5:14</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>32000</td><td align=right>0</td><td>C5:15</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>32000</td><td align=right>0</td></tr><tr><td>C5:16</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>32000</td><td align=right>0</td><td>C5:17</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>32000</td><td align=right>1506</td></tr><tr><td>C5:18</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>0</td><td align=right>0</td><td>C5:19</td>
<td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=center>0</td><td align=right>0</td><td align=right>0</td></tr></table></center><hr width=25% align=center>

1 个答案:

答案 0 :(得分:0)

现在我还没有尝试过代码,但是使用函数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('/[0-9]+(?=[^0-9]+(C5:2<|C5:6<|C5:13))/', $response, $matches);

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

http://php.net/preg_match_all