想知道如果我能得到另一雙眼睛在這個。排除數組,如果它包含字符串
用例;從區域文件中抓取DNS記錄以運行shell_exec將其導入另一個平臺。
我想從區域文件,記錄,CNAME,TXT,MX等中獲取所有類型的DNS記錄。目前爲止,我已經成功完成了CNAME,TXT和MX記錄。
我被困在A記錄上。不幸的是,當我搜索文件的每一行時,這導致CNAME和SOA也被返回。下面是我有:
// Looking for:
$search_a = 'A';
// Read from file
$lines = file("$domain.");
// Check if the line contains A
foreach($lines as $a) {
if(strpos($a, $search_a) !== false) {
$a_array = "$a";
$a_record_output = preg_split('/(.'.$domain.'.|\s)/', $a_array, -1, PREG_SPLIT_NO_EMPTY);
print_r($a_record_output);
}
}
這將返回:
Array
(
[0] => domain.io.
[1] => SOA
[2] => ns1.domain.io.
[3] => stuff.
[4] => (64719
[5] => 14400
[6] => 7200
[7] => 2419200
[8] => 3600)
)
Array
(
[0] => domain.io.
[1] => A
[2] => 8.8.8.8
)
Array
(
[0] => autodiscover
[1] => CNAME
[2] => autodiscover.outlook.com.
)
顯然,這是工作,但是,我需要排除的SOA和CNAME記錄,因爲我只是尋找一個記錄。
我需要完全忽略CNAME和SOA陣列和只返回包含剛剛A.這裏有一個從區域文件
domain.io. A 8.8.8.8
www CNAME domain.io
是否有這樣做的方式提取的嗎?
區文件是製表符分隔的文件嗎?像這樣:example.com。 IN A 192.0.2。1 – bluehipy
發佈您的初始文件內容 – RomanPerekhrest