регулярные выражения

baldman

Новичок
регулярные выражения

"(\d{2,3}\.){4}" скажите - это найдет IP адрес в строке?
не получается помогите вычленить ip адреса из запроса whois
 

baldman

Новичок
у меня возвращается текст от запроса whois, но такая конструкция не работает, не могу понять почему

$form = "194.226.228.152";
system("whois ".$form, $ret);
echo $ret."<br>";
preg_match_all("\d{1,3}(\.\d{1.3}){3}",$ret,$tmp);
print_r ($tmp);

где ошибка
 

Demiurg

Guest
{1.3} -> {1,3}
и посмотри, как парсятся строки в двойеых кавычках.
 

baldman

Новичок
в двойных парсятся в апострофах нет
а вот какой результат получается.
Array ( [0] => Array ( ) [1] => Array ( ) )
 

baldman

Новичок
Цитата:
variables and escape sequences for special characters will not be expanded when they occur in single quoted strings

// Outputs: Variables do not $expand $either
echo 'Variables do not $expand $either'
 

Demiurg

Guest
baldman, я говорю не только про переменные.
в любом случае это уход от темы.
 

baldman

Новичок
Да уход, согласен. Вернемся.
при обработке простой строки, которая содержит IP рега работает - значит дело в ответе от whois'а ? хуиз возвращает кучу строк, а вот как preg_match_all обрабатыват кучу строк?
 

baldman

Новичок
whois возвращает несколько строк из базы данных хуиз
пример: whois 112.125.0.0 ответ:
OrgName: Internet Assigned Numbers Authority OrgID: IANA Address: 4676 Admiralty Way, Suite 330 City: Marina del Rey StateProv: CA PostalCode: 90292-6695 Country: US NetRange: 96.0.0.0 - 126.255.255.255 CIDR: 96.0.0.0/4, 112.0.0.0/5, 120.0.0.0/6, 124.0.0.0/7, 126.0.0.0/8 NetName: RESERVED-8 NetHandle: NET-96-0-0-0-1 Parent: NetType: IANA Reserved Comment: RegDate: Updated: 2002-09-12 OrgAbuseHandle: IANA-IP-ARIN OrgAbuseName: Internet Corporation for Assigned Names and Number OrgAbusePhone: +1-310-301-5820 OrgAbuseEmail: [email protected] OrgTechHandle: IANA-IP-ARIN OrgTechName: Internet Corporation for Assigned Names and Number OrgTechPhone: +1-310-301-5820 OrgTechEmail: [email protected] # ARIN WHOIS database, last updated 2003-10-21 19:15 # Enter ? for additional hints on searching ARIN's WHOIS database. 0
 

Demiurg

Guest
$ret = 'OrgName: Internet Assigned Numbers Authority OrgID: IANA Address: 4676 Admiralty Way, Suite 330 City: Marina del Rey StateProv: CA PostalCode: 90292-6695 Country: US NetRange: 96.0.0.0 - 126.255.255.255 CIDR: 96.0.0.0/4, 112.0.0.0/5, 120.0.0.0/6, 124.0.0.0/7, 126.0.0.0/8 NetName: RESERVED-8 NetHandle: NET-96-0-0-0-1 Parent: NetType: IANA Reserved Comment: RegDate: Updated: 2002-09-12 OrgAbuseHandle: IANA-IP-ARIN OrgAbuseName: Internet Corporation for Assigned Names and Number OrgAbusePhone: +1-310-301-5820 OrgAbuseEmail: [email protected] OrgTechHandle: IANA-IP-ARIN OrgTechName: Internet Corporation for Assigned Names and Number OrgTechPhone: +1-310-301-5820 OrgTechEmail: [email protected] # ARIN WHOIS database, last updated 2003-10-21 19:15 # Enter ? for additional hints on searching ARIN\'s WHOIS database. 0';

preg_match_all("/\\d{1,3}(\\.\\d{1,3}){3}/",$ret,$tmp);
print_r ($tmp);


получаем
Array ( [0] => Array ( [0] => 96.0.0.0 [1] => 126.255.255.255 [2] => 96.0.0.0 [3] => 112.0.0.0 [4] => 120.0.0.0 [5] => 124.0.0.0 [6] => 126.0.0.0 ) [1] => Array ( [0] => .0 [1] => .255 [2] => .0 [3] => .0 [4] => .0 [5] => .0 [6] => .0 ) )
 

baldman

Новичок
Блин, о чем я и говорю, если явно задавать, то работает, если
system("whois ".$form, $ret);
preg_match_all("/\\d{1,3}(\\.\\d{1,3}){3}/",$ret,$tmp);
, то не работает. Я уже проверил, этот вариант. Мой вопрос, почему не работает, последнее???
 

baldman

Новичок
может быть проблема в том, что хуиз возвращает кучу строк, а как preg_match_all работает со строками, я не знаю, может он возвращает массив строк. Кто сталкивался?
 

Altex

Новичок
PHP:
<?php
exec("whois 127.0.0.1",$ret);
preg_match_all("/\d{1,3}(?:\.\d{1,3}){3}/",implode("",$ret),$rar);
print_r($rar);
?>
 

Altex

Новичок
И кто тебе, Блдман, сказал, что SYSTEM возвращает весь аутпут в твою переменную? А не флашит его? РТФМ, блин
 

baldman

Новичок
Еще бы работало, то что ты написал, было бы превосходно.
Я ведь хочу разобраться, почему не работает
 

Altex

Новичок
Автор оригинала: baldman
Еще бы работало, то что ты написал, было бы превосходно.
Я ведь хочу разобраться, почему не работает
Тяжелый случай, если ты перечитаешь все ответы от Altex и Demiurg хотябы, и останешься не доволен, то тебе только Ромик поможет (%

не работает у тебя потомучто у тебя ошибка.. сам догадываешься где
 
Сверху