(PHP) Форматирование вывода whois.ripe.net

Viktor Bartel
Дата: 07.08.2006 22:34:45
Добрый день уважаемые господа,

Имею следующий код для получения инфорамции об ip адресе:
 $sRemAddress = getip();
 print $sRemAddress."<br/>";
 if($sRemAddress != 'unknown')
 {
 	$oSocket = fsockopen("whois.ripe.net",43,$sErrorNo, $sErrorMsg);
 	
 	if(!$oSocket)print $sErrorMsg;
 	else
 	{
 		fputs($oSocket,$sRemAddress."\r\n");
 		while(!feof($oSocket))
 		 echo(str_replace(":",":   ",fgets($oSocket,128)."<br/>"));
 	}
 	fclose($oSocket);
 }
Вроде все работает замечательно, тока вот выводит много ненужной текстовой информации.
Типа:
% This is the RIPE Whois query server #2.
% The objects are in RPSL format.
%
% Note:    the default output of the RIPE Whois server
% is changed. Your tools may need to be adjusted. See
% http:   //www.ripe.net/db/news/abuse-proposal-20050331.html
% for more details.
%
% Rights restricted by copyright.
% See http:   //www.ripe.net/db/copyright.html

% Note:    This output has been filtered.
% To receive output for a database update, use the "-B" flag 
etc.....
Скажите пожалуйста, кто знает, можна ли форматировать вывод whois.ripe.net исползуя различные флаги что бы получить скажем только страну или имя организации? Т.е. мы им ip адрес а они нам тока конкретную информацию. Заранее вам благодарен.
--
С уважением
Виктор Бартель
Robert Tappan Moris
Дата: 08.08.2006 14:45:52
А собственно что Вам мешает просто найти в том что выдает whois.ripe.net нужную информацию и выводить именно её?

Например для поиска страны:
$sRemAddress = getip();
if($sRemAddress != 'unknown') {
	$oSocket = fsockopen("whois.ripe.net",43,$sErrorNo, $sErrorMsg);
	if (!$oSocket) { echo $sErrorMsg; exit; }
	fputs($oSocket,$sRemAddress."\r\n");
	while(!feof($oSocket)) {
		if (preg_match('[\bcountry\b]i',$line=fgets($oSocket))) {
			$country = preg_replace('[country:\s+([^\s]+)\s*]i','$1',$line);
			echo "Country of ip ($sRemAddress) is \"".$country."\".";
			break;
		}
	}
	fclose($oSocket);
}