Показать сообщение отдельно
  #6 (permalink)  
Старый 11.12.2016, 12:42
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Сообщение от SergeyPetrovA
Второй sn будет как мусор, ну и фиг с ним.
Ну если так, что тогда париться, да берите все скопом

Это делается элементарно, хоть серверным, хоть клиентским скриптом. Но коли вам надо получить "связанное", а не понять что, то должна быть строгая последовательность в данных, то есть не может встречаться очередной mail до тех пор, пока не будут получены другие поля. То есть сперва перечислены все поля одной сущности, затем другой и т.д. до конца. Посредством РНР и простым обходом массива к примеру так:

$arr = []; 
$k = 0;

foreach(file('data.txt', FILE_SKIP_EMPTY_LINES ) as $v) {
    
    if(preg_match('/mail|givenName|sn|telephoneNumber|createTimestamp/', $v)) {
        $v = array_map('trim', explode(':', $v));
        $arr[$v[0]][$k] = $v[1];
    }
    if(count(array_column($arr, $k))==5) $k++;
}
echo '<pre>';
print_r($arr);


Для его выполнение требуется РНР не ниже версии 5.5.
Ответить с цитированием