![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| mikla |
|
||||||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 3.12.2006 Где: Витебск Репутация: нет Всего: нет |
дело вот в чем. нужно заменить в строке все что находиться между тегами [loop] [/loop]
1. этот код
выведет мне
2. а этот код отработает нормально
и выведет
1. почему так происходит ? 2. как сделать так чтобы preg_replace "съел" строку, к-рая задана в 1м примере ? --------------------
|
||||||||
|
|||||||||
| Fally |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 17.8.2006 Где: Dahla Репутация: нет Всего: 4 |
Про модификатор s забыли, чтобы таких глюков не было, рассматривайте строку в однострочном режиме, т.е. рега такая:
Это сообщение отредактировал(а) Fally - 2.11.2007, 01:06 |
||||
|
|||||
| mikla |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 3.12.2006 Где: Витебск Репутация: нет Всего: нет |
Fally, Спасибо большое.
--------------------
|
|||
|
||||
| mikla |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 3.12.2006 Где: Витебск Репутация: нет Всего: нет |
еще одна проблема с регуляркой. нужно опять же взять то что между тегами [loop] [/loop] и сложить в массив.
делаю так
вижу
что я опять не так делаю ? Это сообщение отредактировал(а) mikla - 2.11.2007, 20:06 --------------------
|
||||
|
|||||
| webevt |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 235 Регистрация: 5.5.2005 Репутация: нет Всего: 3 |
mikla,
Вопросик после * поставить нужно |
|||
|
||||
| mikla |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 3.12.2006 Где: Витебск Репутация: нет Всего: нет |
webevt хм. у меня не работает ваш вариант.
я сделал вот так :
ну и получается что в $split_arr[0][i]лежить все что надо --------------------
|
|||
|
||||
| flashaa |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 796 Регистрация: 7.3.2006 Репутация: 2 Всего: 25 |
При работе с preg_split в регулярке задается именно разделитель массива, а в начале темки туда помещали выражения для элемента.. Да ещё с маской, которая тут никак не обрабатывается.
Через preg_split тоже можно вот так вот:
Только минус будет в том, что в массив совпадений попадут фрагменты строки перед первым [loop] и после последнего [/loop], т.е. 2 лишних эл-та. А вообще это кривое решение, preg_match_all в предыдущем сообщение - самое верное. Это сообщение отредактировал(а) flashaa - 5.11.2007, 12:17 |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |