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 に答える