![]() |
|
Модераторы: ginnie |
![]()
|
|
| совсемначинающий |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.6.2010 Репутация: нет Всего: нет |
скачиваю страничку и надо выдрать два места из нее по шаблону
........... <div style="line-height: 160%; margin-bottom: 7px;"> НУЖНЫЙ КУСОК 1 </div> НЕНУЖНЫЙ ТЕКСТ <div style="margin-left: 4px;"> НУЖНЫЙ КУСОК 2 </div> ............ $description = `/usr/bin/wget -q -O - $urls{$i}`; $description =~ /<div style="line-height: 160%; margin-bottom: 7px;">(.*?)<\/div>(.*?)<div style="margin-left: 4px;">(.*?)<\/div>/; $description = $1.<br>.$3; выдает пустоту как ни изгаляюсь... |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 1 Всего: 49 |
совсемначинающий, пропробуйте использовать два регулярных выражения, вместо одного (отдельный для каждого нужного фрагмента) и добавить в регулярное выражение модификатор s, чтобы . переводы строк тоже захватывала.
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| совсемначинающий |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.6.2010 Репутация: нет Всего: нет |
а как правильно работать с кавычками?... похоже из-за них дело...
|
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 1 Всего: 49 |
совсемначинающий, маловероятно, что дело в кавычках. Привидите пример текста, где не работает регулярное выражение и само регулярное выражение, посмотрим в чем дело.
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| совсемначинающий |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.6.2010 Репутация: нет Всего: нет |
так выкусывает с начала 7px до </div>
$description =~ /7px;(.*?)<\/div>/s; $description = $1; так выдает пустоту $description =~ /7px;\"(.*?)<\/div>/s; $description = $1; или $description =~ /7px;"(.*?)<\/div>/s; $description = $1; текст скачиваемый <div style="line-height:60%;margin-top:7px;margin-bottom:7px"> полезный текст </div> <div style="margin-left:4px;">Дополнительная информация: <font class="dop">нет</font></div> полезный текст 2 </div></p> |
|||
|
||||
| ginnie |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 1287 Регистрация: 6.1.2008 Где: Москва Репутация: 1 Всего: 49 |
совсемначинающий, ткните пальцем, где у Вас в тексте есть 7px;"?
-------------------- Написать код, понятный компьютеру, может каждый, но только хорошие программисты пишут код, понятный людям. (Мартин Фаулер. Рефакторинг) |
|||
|
||||
| совсемначинающий |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 4 Регистрация: 25.6.2010 Репутация: нет Всего: нет |
мда... спасибо огромное
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Perl: Регулярные выражения | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |