2012-04-01 8 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住所を返すことを解析するためにPHPで高速な機能を知っていますか?ありがとう。

答えて

0

この正規表現は改善される可能性がありますが、そのトリックは行います。

あなたの出力は$ラインであるならば、あなたは

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

を使用することができますそして、最初の試合は感謝、私はそれを試してみるよ

$matches[1] 
+0

に保存されます。 – Stefan

+0

これはIPv6で失敗します。両方のプロトコルバージョンで動作させるには '[0-9a-f。:]'を使用してください。ああ、キャラクタークラスの中で '.'をエスケープする必要はありません。 – ThiefMaster

+0

良い点、ThiefMaster。 – jcbwlkr