![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| Jiffi |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 38 Регистрация: 2.6.2006 Репутация: нет Всего: нет |
Здравствуйте.
Какими методами можно распарсить .txt ? Например:
и т.д. |
|||
|
||||
| gta4kv |
|
|||
![]() Walking around mad. ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1868 Регистрация: 25.7.2006 Репутация: 21 Всего: 91 |
Прочитать файл и распарсить регуляркой.
|
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
весь файл целиком парсить регулярками - довольно ресурсоемкое занятие при теговой разметке(в данном случае речь идет как раз о таком).
можно читать построчно + выделять очередной тег при помощи регулярки + фиксировать глубину вложенности при помощи стека уже обработанных тегов. тебе надо дерево собрать? можно тупо в тексте заменить "@" на < и >, чтоб получилась потенциально корректная XML-структура и распарсить полученный текст средствами работы с XML. пожалуй, это даже рациональнее самописного парсера. |
|||
|
||||
| Тигер |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
skyboy,
регулярки поддерживают рекурсию =) |
|||
|
||||
| skyboy |
|
|||
|
неОпытный ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9820 Регистрация: 18.5.2006 Где: Днепропетровск Репутация: 75 Всего: 260 |
||||
|
||||
| Тигер |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
skyboy,
дерево регулярки не строят. но вот выбрать найти дерево вполне могут |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Тигер, Я встречал регулярку, с помощью которой можно проверить правильность скобочной структуры. К сожалению у нее ограничение - только одна пара тегов (отрывающие-закрывающие теги- скобки, вероятно даже односимвольные...) Для нескольких разных тегов регулярку я не видел. Есть пример?
Это сообщение отредактировал(а) ksnk - 24.10.2010, 10:49 -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Тигер |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
всмысле для нескольких? не понял что надо
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
И каким образом вот такой результат поможет нам парсить нашу структуру?
-------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Тигер |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
а что надо то? короче по сабжу, реги дерево не возвращают, но могут дерего выбрать. Вернёт дерево нам php =)
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Это я уже не спрашиваю про то, как сюда можно вставить еще один уровень скобок. не только (), но и [], {} например. не говоря уже о "метках" - metka1, metka2 и так далее...
Добавлено через 1 минуту и 53 секунды Тигер, к рекурсивным регуляркам это отношениея уже не имеет? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Тигер |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
можно
я не телепат. Что не имеет? где не имеет? Это сообщение отредактировал(а) Тигер - 24.10.2010, 12:22 |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
а на таком примере hello будет видно? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| Тигер |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 86 Регистрация: 4.4.2010 Репутация: нет Всего: нет |
это не дерево. но можно сделать что даже так будет видно =) |
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 96 Всего: 386 |
Надеюсь, консенсус достигнут принципиальная возможность парсить html не очень интересует, в конце концов броузеры этим занимаются уже давно. А вот применимось рекурсивных регулярок осталась академической, как и была... -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |