2012-04-01 3 views
0

PHP에서 호스트 이름을 확인하려고하는데 시간 제한 옵션을 지원하지 않기 때문에 gethostbyname 내장 함수를 사용할 수 없습니다. 따라서이 문제를 조사하여 해결하려고합니다. 호스트 이름은 nslookup 또는 host입니다. 문제는 이러한 기능/프로그램이nslookup/host parsing PHP

같은 일반 결과지만 뭔가를 반환하지 않는다는 것입니다
 
Non-authoritative answer: 
Name: google.de 
Address: 173.194.35.159 
Name: google.de 
Address: 173.194.35.151 
Name: google.de 
Address: 173.194.35.152 

이 사람이 그냥 첫 번째 IP ADRESS을 반환 그래서를 구문 분석하는 PHP의 빠른 기능을 알고 있나요? 감사.

답변

0

이 정규식은 향상 될 수 있지만 트릭을 수행합니다. 당신의 출력은 $ 라인에있는 경우

당신은 내가 그것을 감사를 시도해거야 그런 다음 첫 경기는

$matches[1] 
+0

에 저장됩니다

preg_match('/Address: ([0-9\.]*).*/', $lines, $matches); 

를 사용할 수 있습니다. – Stefan

+0

IPv6에서는 실패합니다. '[0-9a-f. :]'를 사용하여 두 프로토콜 버전 모두에서 작동되게하십시오. 오, 캐릭터 클래스 안에서'.'을 벗어날 필요가 없습니다. – ThiefMaster

+0

좋은 지적, 도둑 마스터. – jcbwlkr