使用php从返回的数组中删除内容

时间:2013-02-22 22:44:41

标签: php arrays explode

我正试图从其拉回的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

任何帮助都会很棒!

3 个答案:

答案 0 :(得分:1)

首先你需要通过换行符而不仅仅是分隔符来爆炸数据:

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

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

foreach($data as $item) {
  $item = explode(';',$item);
  echo $item[0].' '.$item[3];
}

答案 1 :(得分:0)

foreach($data as $d) 
{
  $arr_data = explode(';',$d);
  $first_data = $arr_data[0];
  $last_data =  $arr_data[3];
}

答案 2 :(得分:0)

在此更改

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

作为

print "<pre>";
$spl = split(';', $data[0]);
echo $spl[0] . $spl[3];
print "<pre>";