![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| OverClocker |
|
||||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 12.11.2005 Репутация: нет Всего: нет |
Вообщем есть у нас строчка:
Помогите отпарсить её так, чтобы получился массив из восьми параметров, например такой:
Причём обратите внимание, что вся текстовая информация в одинарных кавычках, а там, где "Это действительно тест, а не что-либо другое!" стоит запятая и её нужно включить тоже, но запятые также есть и в самой строке, которые являются и разделителями. Ну вообщем такого плана регулярка. Помогите, пожалуйста! |
||||
|
|||||
| ZlojEzh |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 285 Регистрация: 8.10.2005 Где: Киев, Украина Репутация: 2 Всего: 15 |
что-то вроде этого не тестил, если сразу не запашет - прийдется немного подкрутить; заодно и с регами разобраться ;-) |
|||
|
||||
| OverClocker |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 12.11.2005 Репутация: нет Всего: нет |
Не пашет, но слава Богу, хоть выдаёт пустой массив, а не ошибки интерпретации, как у меня
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
Есть два варианта.
Первый split, по () потом по ковычкам и запятым. Второй - лексический анализ, как для подцветки кода. Тебе какой? |
|||
|
||||
| OverClocker |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 12.11.2005 Репутация: нет Всего: нет |
Mal Hack, вообще, я тоже хотел сплитом сделать
|
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
Что показать?
|
|||
|
||||
| OverClocker |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 12.11.2005 Репутация: нет Всего: нет |
Mal Hack, ну сплит по скобкам, кавычкам и запятым. Этот метод. А то я до сих пор пытаюсь разобраться в регулярках, а подобного примера нигде не нахожу.
|
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: нет Всего: 71 |
Не повторяйте это дома
если строка небезопасна, то забудте про этот метод... |
|||
|
||||
| Mal Hack |
|
|||
![]() Мудрый... ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 9926 Регистрация: 15.2.2004 Репутация: 16 Всего: 261 |
||||
|
||||
| OverClocker |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 12.11.2005 Репутация: нет Всего: нет |
S.A.P., вот за это огромное спасибо! Очень-очень благодарен! Правда, я так и не понял, как это работает... Но главное работает! Спасибо
Mal Hack, а! Не, я думал, что ты имеешь в виду preg_split, который я никогда не юзал, потому что не знаю, как его юзать. А split и explode мне хорошо знакомы, но имхо, это слишком грубо. |
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: нет Всего: 71 |
OverClocker, я надеюсь ты до конца прочитал мой пост
|
|||
|
||||
| OverClocker |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 69 Регистрация: 12.11.2005 Репутация: нет Всего: нет |
S.A.P., Да. Я думаю, что строка безопасна, т.к. символы ' < > $ и некоторые другие заменяются на безопасную альтернативу. Если это имеется в виду "безопасность", то могу уверить, что - строка безопасна.
|
|||
|
||||
| S.A.P. |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2664 Регистрация: 11.6.2004 Репутация: нет Всего: 71 |
OverClocker, я имею ввиду другое.
попробуй прогнать Поэтому если имеется такая опасность - получение строки от левых пользователей, то лучше вернуться к старому, доброму split К сожалению эта проблема в данном случае никакими экранированиями не искореняется. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |