powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Как правильно распарсить данную строку?
9 сообщений из 9, страница 1 из 1
(PHP) Как правильно распарсить данную строку?
    #33694867
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть строка такого вида:
Код: plaintext
[ИМЯ_ФУНКЦИИ имя_параметра="значение \"параметра" имя_параметра2=значение_параметра]

Как удобнеее всего распарсить значения параметров?
...
Рейтинг: 0 / 0
(PHP) Как правильно распарсить данную строку?
    #33694885
Фотография Robert Tappan Moris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
регэкспом, конечно.
...
Рейтинг: 0 / 0
(PHP) Как правильно распарсить данную строку?
    #33694953
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И какой регэксп был бы более правильен в этом случае?
...
Рейтинг: 0 / 0
(PHP) Как правильно распарсить данную строку?
    #33695170
Фотография Robert Tappan Moris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
$t = '[ИМЯ_ФУНКЦИИ имя_параметра="значение \"параметра" имя_параметра2="значение \"параметра"]';
if (preg_match_all('/^\[([^\s]*)\s([^=]*)=((?:".*")|(?:[^"][^\s]*))\s([^=]*)=((?:".*")|(?:[^\s\]]*))[\s\]]$/',$t,$m)) {
    print_r($m);
} else {
    echo "не совпало =(";
}

пробовал на:
[ИМЯ_ФУНКЦИИ имя_параметра="значение \"параметра" имя_параметра2=значение_параметра]
[ИМЯ_ФУНКЦИИ имя_параметра=значение_параметра имя_параметра2=значение_параметра]
[ИМЯ_ФУНКЦИИ имя_параметра=значение_параметра имя_параметра2="значение \"параметра"]
[ИМЯ_ФУНКЦИИ имя_параметра="значение \"параметра" имя_параметра2="значение \"параметра"]

Может быть можно сделать и окуратнее.
...
Рейтинг: 0 / 0
(PHP) Как правильно распарсить данную строку?
    #33697345
Фотография Damnedest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Большое спасибо... никогда бы не составил такой регэксп... где можно так научиться?
...
Рейтинг: 0 / 0
(PHP) Как правильно распарсить данную строку?
    #33697429
Фотография 4m@t!c
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор где можно так научиться?
Опыт и половое бессилие приходят с годами.
----------------------------------------
Артисты не приехали, приехали цыгане
...
Рейтинг: 0 / 0
(PHP) Как правильно распарсить данную строку?
    #33697693
Фотография Robert Tappan Moris
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
К слову, может быть кто-нить подскажет: приведённый регэксп выдёргивает стороковый параметр вместе с кавычками, можно ли от них избавиться?
...
Рейтинг: 0 / 0
(PHP) Как правильно распарсить данную строку?
    #33697724
zg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
можно, но лучше после парсинга убрать всё лишнее, т.к. увеличение длины регулярки смертельно опасно (преценденты были)
...
Рейтинг: 0 / 0
(PHP) Как правильно распарсить данную строку?
    #33697934
1024byte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
там возвращается 2 массива результатов
один с кавычками другой без
насколько я понимаю.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / (PHP) Как правильно распарсить данную строку?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]