我正试图从其拉回的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
任何帮助都会很棒!
答案 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>";