![]() |
|
Модераторы: korob2001, ginnie |
![]()
|
|
| TP@MB@Y |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 18.12.2004 Где: Москва Репутация: нет Всего: 4 |
написал парсер, который обрабатывает HTML-страницы путем запихивания содержимого страницы в переменную и проходом по ней регуляркой:
при длине текста > ~40kb регулярка не срабатывает :( подозреваю, что в перле есть какое-то ограничение из-за которого имеет место эта проблема. заранее спасибо за ответ! PS варианты использовать готовые решения для парсинга HTML я коненчно же рассмотрю, если припрет. но хотелось бы разобраться имено с этой проблемой (ограничение по размеру текста). Это сообщение отредактировал(а) TP@MB@Y - 22.6.2009, 15:41 |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 38 Всего: 49 |
TP@MB@Y, а почему у меня работает?
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| amg |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1145 Регистрация: 3.8.2006 Где: Новосибирск Репутация: 38 Всего: 50 |
||||
|
||||
| DaemonSuw |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 11.3.2008 Репутация: 3 Всего: 3 |
По умолчанию ограничений нету никаких
|
|||
|
||||
| TP@MB@Y |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 370 Регистрация: 18.12.2004 Где: Москва Репутация: нет Всего: 4 |
ginnie, угу. Вы совершенно правы. зря я на Perl наговаривал.
выяснил причину ошибки: html-страницы в кодировке cp1251, а я перекодирую их в utf-8(в свою родную локаль). так вот, на тех страницах находятся "кривые" символы (в броузере отображаются в виде черного ромбика со знаком вопроса) и iconv (я использую Text::Iconv) вылетает с ошибкой. у iconv есть опция "-c" чтобы игнорировать символы, которые не могут быть сконвертированы. в модуле Text::Iconv я пока не нашел такой функции... |
|||
|
||||
| vadiml |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 310 Регистрация: 27.7.2007 Репутация: 5 Всего: 7 |
Попробуйте вместо Text::Iconv модуль Encode
encode('cp1251',$var) все недопустимые символы заменяет обычным знаком вопроса. |
|||
|
||||
| evilsoul |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 31.3.2006 Репутация: нет Всего: 0 |
Скорее всего у тебя в тексте есть перенос строк , можешь использовать модификаторы s или m
|
|||
|
||||
![]()
|
| Правила форума "Perl" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |