
02.06.2009, 15:53
|
|
Познавший АНТИЧАТ
Регистрация: 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..
|
|
|