массивы — разделение preg_match со многими разделителями в переполнении стека

у меня есть строковые данные, подобные этим:

$productList="Saluran Dua(Bothway)-(TAN007);
Speedy Password-(INET PASS);
Memo-(T-Memo);
7-pib r-10/10-(AM);
FBI (R/N/M)-(Rr);
";

как я могу разделить их, так что результат:

Array1(
[0]=>Saluran Dua(Bothway)
[1]=>Speedy Password
[2]=>Memo
[3]=>7-pib r-10/10
[4]=>FBI (R/N/M)
);

Array2(
[0]=>TAN007
[1]=>INET PASS
[2]=>T-Memo
[3]=>AM
[4]=>Rr
);

Я старался preg_match_allэто для array1:

$separator = '/\-\(([A-z ]*)\)/';
preg_match_all($separator, $productList, $match);
$value=$match[1];

и это для array2:

$separator2 = '/\;([A-z ]*)\-/';
preg_match_all($separator2, $productList, $desc);
$desc=$desc[1];

результат показан, некоторые из них правильные, а некоторые исчезают .. я считаю, что в preg_match_all что-то не так. Я надеюсь, что вы можете дать мне решение ..

0

Решение

Я хотел бы предложить что-то вроде этого:

preg_match_all('(^(.*)-\((.*)\);$)m',$productList,$matches);
list(,$value,$desc) = $matches;

Живая демо

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]