|
|
|
| немогу разобраться почему получается не правильный результат. Мне нужно получить значение находящееся внутри квадратных кавычек. Я делаю -
$str = "[one][two][three]";
ereg( "\[(.*)\]", $str, $arr );
|
мне нужно получить такой массив
$arr[0] = 'one';
$arr[1] = 'two';
$arr[2] = 'three';
|
а мне выдает строку
string=>"one][two][three"
|
что я делаю не так? | |
|
|
|
|
|
|
|
для: kostiaGt
(24.05.2009 в 11:02)
| | Лучше бы ты пользовался preg...
Там это проще - "модификатор жадности"( (с) Кузнецов && Симдянов) ;), и ещё есть preg_match_all()
Например:
preg_match_all('/\[.+\]/sU', $str, $arr);
print_r($arr);
проверь вот так, пожалуйста. | |
|
|
|
|
|
|
|
для: Akdmeh
(24.05.2009 в 11:19)
| | Ereg незнает ленивых?? Хм я незнал | |
|
|
|
|
|
|
|
для: Akdmeh
(24.05.2009 в 11:19)
| | Спасибо. Заработало. | |
|
|
|
|
|
|
|
для: kostiaGt
(24.05.2009 в 11:02)
| | Используете жадные регулярки, а в данном случае надо ленивые:
<?
$str = '[one][two][three]';
ereg('\[(.*?)\]', $str, $arr);
|
| |
|
|
|
|
|
|
|
для: kostiaGt
(24.05.2009 в 11:02)
| | >что я делаю не так?
да вобщем-то всё.
Вы выбрали не ту группу функций, не ту функцию в группе, не так составили шаблон, и вдобавок запостили вопрос не в том форум.
$str = "[one][two][three]";
preg_match_all( "|\[([^]]*)\]|", $str, $arr );
print_r($arr[1]);
?>
|
| |
|
|
|
|
|
|
|
для: Trianon
(24.05.2009 в 11:30)
| | Мне кажится вы забыли экранировать квадратную скобку внутри квадратных скобок | |
|
|
|
|
|
|
|
для: nikita2206
(24.05.2009 в 11:35)
| | проверили? | |
|
|
|
|
|
|
|
для: Trianon
(24.05.2009 в 11:39)
| | ;) | |
|
|
|
|
|
|
|
для: mihdan
(25.05.2009 в 18:59)
| | ;) - это тема этой ветки.
Квадратные кавычки выносят мозг и делают вечер. | |
|
|
|