Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выборка данных, формирование массива 
:(
    Опции темы
alligator
Дата 29.5.2012, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 730
Регистрация: 28.1.2004

Репутация: нет
Всего: 1



Всем доброго времени суток.....
пишу скриптец по разбору логов, есть пару вопросов
Пример текста:
Код

   Crypto map tag: SYSTEM_DEFAULT_CRYPTO_MAP, seq num: 65535, local addr: 78.10
7.54.254

      local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
      remote ident (addr/mask/prot/port): (192.168.91.41/255.255.255.255/0/0)
      current_peer: 128.69.107.177, username: a.user
      dynamic allocated peer ip: 192.168.91.41

   #pkts encaps: 10512, #pkts encrypt: 10512, #pkts digest: 10512
      #pkts decaps: 10372, #pkts decrypt: 10372, #pkts verify: 10372
      #pkts compressed: 0, #pkts decompressed: 0
      #pkts not compressed: 10512, #pkts comp failed: 0, #pkts decomp failed: 0
      #pre-frag successes: 0, #pre-frag failures: 0, #fragments created: 0
      #PMTUs sent: 0, #PMTUs rcvd: 0, #decapsulated frgs needing reassembly: 0
      #send errors: 0, #recv errors: 0
.................
................
какой-то текст


      local ident (addr/mask/prot/port): (0.0.0.0/0.0.0.0/0/0)
      remote ident (addr/mask/prot/port): (192.168.91.53/255.255.255.255/0/0)
      current_peer: 99.36.91.17, username: b.test
      dynamic allocated peer ip: 192.168.91.53
.................
................
какой-то текст


На выходе хочу получить массив:
0 - 1      a.user
     2 128.69.107.177 
     3 192.168.91.41

1 - 1  b.test
     2 99.36.91.17
     3 192.168.91.53
и тд

Сделал так..... может есть решения по красивее?
Код

preg_match_all('/current_peer:\s?([\w{3}\.]+),\s*username:\s*([\w\d\.\\\-]+)\W+dynamic allocated peer ip:\s*([\w{3}\.]+)/is',$txt,$matches);
unset($matches[0]);
rsort($matches);

for($i=0;$i<sizeof($matches[0]);$i++){
$result[$matches[0][$i]][] = $matches[1][$i];
$result[$matches[0][$i]][] = $matches[2][$i];
}
print_r($result);



Это сообщение отредактировал(а) alligator - 29.5.2012, 14:15
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0372 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.