|
|
|
| Имеем
строку: "var[key][key2]";
нужно получить массив
array('var', 'key', 'key2')
если строка такая:
строку: "var[key]";
нужно получить массив
array('var', 'key', '')
ну и на конец
если строка такая:
строку: "var";
нужно получить массив
array('var', '', '')
как реализовать?:) | |
|
|
|
|
автор: .... (28.11.2009 в 00:18) |
|
|
для: sl1p
(27.11.2009 в 17:13)
| | интересный синтаксис у sscanf():)
<pre><?php
$txt = 'xvar[x1][y1]';
var_dump(sscanf($txt, '%[^\[][%[^]]][%[^]]]'));
?>
| почему-то работает если заэкранировать только одну скобку | |
|
|
|
|
|
|
|
для: ....
(28.11.2009 в 00:18)
| | а preg_match както можно?)
ато впервый раз это вижу и не сильно подаёт надежду ) | |
|
|
|
|
автор: .... (28.11.2009 в 18:00) |
|
|
для: sl1p
(28.11.2009 в 14:50)
| | как-то можно
<pre><?php
$t1 = 'xvar[x1][y1]';
$t2= 'xvar[x1]';
$t3 = 'xvar';
$i=0;
while(++$i < 4) {
$txt = ${"t$i"};
preg_match_all('#\w+#', $txt, $out);
var_dump($out);
echo "<hr>";
}
?><hr/><?
$i=0;
while(++$i < 4) {
$txt = ${"t$i"};
preg_match('#^(\w+)\[?(\w*)\]?\[?(\w*)\]?$#', $txt, $out);
var_dump($out);
echo "<hr>";
}
| но непонятно чего нужно | |
|
|
|
|
|
|
|
для: ....
(28.11.2009 в 18:00)
| | о вот это оно!
preg_match('#^(\w+)\[?(\w*)\]?\[?(\w*)\]?$#', $txt, $out);
|
спасибо большое! | |
|
|
|