у меня есть строковые данные, подобные этим:
$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 что-то не так. Я надеюсь, что вы можете дать мне решение ..
Я хотел бы предложить что-то вроде этого:
preg_match_all('(^(.*)-\((.*)\);$)m',$productList,$matches);
list(,$value,$desc) = $matches;
Других решений пока нет …