ネームサーバーを抽出しようとしています。 $output
の形式は、たとえばns1.nameserver.com
を含むような形式です。PHP正規表現で始まっていない..負のlookbehindが動作していませんか?
www.apple.com
を含む場合もあります。
これはもちろんネームサーバではありません。私は含まれていので、どんな結果が含まれていませしようとしています
www.
私の試みは、以下の通りです:
$regexp = "/(?<!www)([A-Za-z0-9-]+[\.][A-Za-z0-9-]+[\.][A-Za-z0-9-\.]+)/i";
preg_match_all($regexp, $output, $nameservers);
「これは当然のネームサーバではありません。」あなたはそれを確信することはできません - 誰もがwww.whatever.comを彼らのネームサーバ名として使用するのを止めるものは何もありません。 –
シェルexecのテキスト出力をwhoisに解析しようとしているようです。開始ドメイン名をすでに知っていれば、明示的なNSクエリを行うほうが良いでしょう。 PEARのNet_DNSモジュールやシェルのexecを使ってこれを行うことができます。 (例: "dig + short google.com ns") –