0

我试图从它拉回的 RBL 数据中删除结果。

这是代码。

<?
$ips = file("list.inc");
foreach($ips as $ip)
{
$rblurl = 'http://rbl-check.org/rbl_api.php?ipaddress=' . trim($ip);
$boom = fopen($rblurl, "r");
$rbl = stream_get_contents($boom);
echo "</br>";
$data = explode(";",$rbl);
print "<pre>";
print_r($data[0]);
print "</pre>";
echo "</br>";
//fclose($boom);
}
?>

这就是结果。

emailbasura;bl.emailbasura.org;nowebsite;notlisted
Sorbs;zombie.dnsbl.sorbs.net;nowebsite;notlisted
msrbl;combined.rbl.msrbl.net;nowebsite;notlisted
nixspam;ix.dnsbl.manitu.net;nowebsite;notlisted
Spamcop;bl.spamcop.net;nowebsite;notlisted

我正在尝试剪切第一部分和最后一部分,所以它只显示这个。

emailbasura notlisted
Sorbs notlisted
msrbl notlisted
nixspam notlisted
Spamcop notlisted

任何帮助都会很棒!

4

3 回答 3

1

首先,您需要通过换行符来分解数据,而不仅仅是分隔符:

$data = explode("\n",$rbl);

完成后,您只需回显数据:

foreach($data as $item) {
  $item = explode(';',$item);
  echo $item[0].' '.$item[3];
}
于 2013-02-22T22:49:11.237 回答
0
foreach($data as $d) 
{
  $arr_data = explode(';',$d);
  $first_data = $arr_data[0];
  $last_data =  $arr_data[3];
}
于 2013-02-22T22:53:01.317 回答
0

在这里更改

print "<pre>";
print_r($data[0]);
print "</pre>"

作为

print "<pre>";
$spl = split(';', $data[0]);
echo $spl[0] . $spl[3];
print "<pre>";
于 2013-02-22T22:54:12.777 回答