Хранение копий в массиве
У меня есть этот выход MX в $ip
:
10 ASPMX2.GOOGLEMAIL.COM. 10 ASPMX3.GOOGLEMAIL.COM. 1 ASPMX.L.GOOGLE.COM. 5 ALT1.ASPMX.L.GOOGLE.COM. 5 ALT2.ASPMX.L.GOOGLE.COM.
Номер является приоритетом, а поддомен - почтовым сервером. Как я мог хранить их в массиве так:
Array
(
[0] => Array
(
[0] => 10
[1] => ASPMX2.GOOGLEMAIL.COM.
)
[1] => Array
(
[0] => 10
[1] => ASPMX3.GOOGLEMAIL.COM.
)
...
)
Сложная часть в том, что весь результат может быть чем угодно. Я имею в виду имя субдомена почтового сервера и номер сервера могут быть случайными. В приведенном выше примере 5 почтовых серверов, но это может быть 3 или только 1 сервер (не путать с номером приоритета почтового сервера).
Я думаю о preg_match
, но случайное имя субдомена просто делает меня невежественным. Любая идея?
1 ответ
Решение
$arr = array();
preg_match_all('/(\d+) ([\w.\-]+)/', $ip, $matches);
for($i = 0; $i < count($matches[1]); $i++)
{
$arr[] = array($matches[1][$i], $matches[2][$i]);
}
массив ([0] => Массив ( [0] => 10 [1] => ASPMX2.GOOGLEMAIL.COM.) [1] => Массив ( [0] => 10 [1] => ASPMX3.GOOGLEMAIL.COM.) [2] => Массив ( [0] => 1 [1] => ASPMX.L.GOOGLE.COM.) [3] => Массив ( [0] => 5 [1] => ALT1.ASPMX.L.GOOGLE.COM.) [4] => Массив ( [0] => 5 [1] => ALT2.ASPMX.L.GOOGLE.COM.))