Показать сообщение отдельно

  #7  
Старый 02.06.2009, 15:53
krypt3r
Познавший АНТИЧАТ
Регистрация: 27.04.2007
Сообщений: 1,044
Провел на форуме:
3660186

Репутация: 905


По умолчанию

Один ассоциативный массив тут не получится заюзать, т. к., судя по примеру, ключи могут повторяться. Тут, наверно, следует использовать два обычных массива - в одном ключи, в другом - значения. Как-то так
PHP код:
<?php
  $str 
'$a data1 $g da$ta2 $y data3 $2 data4 $2 data5' "\n";
  
$str .= '$b data_b $e data$2e $y d$at$a3 $7 da7ta $2 data$2' "\n";
  
preg_match_all ('/\$([a-z0-9]) (.+?)(\s|\n)/'$str$m);
  
//print_r ($m);
  
$key $m[1];
  
$val $m[2];
  
print_r ($key);
  
print_r ($val);
?>
Тут условие, что строка должна завершаться символом \n:
Код:
Array                         
(                             
    [0] => a                  
    [1] => g                  
    [2] => y                  
    [3] => 2                  
    [4] => 2                  
    [5] => b                  
    [6] => e                  
    [7] => y                  
    [8] => 7                  
    [9] => 2
)
Array
(
    [0] => data1
    [1] => da$ta2
    [2] => data3
    [3] => data4
    [4] => data5
    [5] => data_b
    [6] => data$2e
    [7] => d$at$a3
    [8] => da7ta
    [9] => data$2
)

Последний раз редактировалось krypt3r; 02.06.2009 в 15:55..
 
Ответить с цитированием