![]() |
|
Модераторы: Aliance, skyboy, MoLeX, ksnk |
![]()
|
|
| jkffdwitnas |
|
||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
вот так тяну расписание тнт с яндекса, хочу вставить к себе
но там вагоны мусора, во первых все что находится в <head>...</head> не нужно, плюс там есть еще <html> <body>, и всякие подписи есть вариант делать так с каждой ненужной строкой
но чувствую - что это шибко криво помогите плз вырезать оттуда все лишнее, так чтобы осталась только таблица
Спасибо заранее |
||||||
|
|||||||
| Mavrun |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 199 Регистрация: 25.11.2007 Репутация: нет Всего: 13 |
надо через регулярные выражения делать. копай в их сторону и сторону ereg_replace
|
|||
|
||||
| jkffdwitnas |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
все очень правильно говоришь и про регулярки и про ereg_replace, только вот именно в этом мне и нужна помощь.
читал читал факи да только голову сломал |
|||
|
||||
| brother79 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 471 Регистрация: 18.8.2009 Репутация: нет Всего: 6 |
ereg - вроде как устаревшее, надо использовать preg_replace, и прочие ф-ии на preg, а вот по поводу самих регулярок, помог бы если бы написал конкретно что тебе нужно, не думаешь же, что все пойдут смотреть что там у яндекса и парсить, пожалуйста пример в студию.
|
|||
|
||||
| jkffdwitnas |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
прошу прощения, господа, вот пример программы передач с яндекса
по такому адресу http://tv.yandex.ru/index.xml?hour=7&p...&mode=print есть следующий код, который требует доработки
в идеале из него нужно достать вот такой массив
но если это слишком, тогда вот так
В первом случае получается практически идеал: фактически это готовое расписание для любого сайта. ну то есть можно зарядить этот массив в любые дивы, таблицы и придумать подходящее оформление Второй случай уже не так хорош, но все еще возможно достойно оформить и вывести у себя на сайте Помогите написать регулярку. Огромное спасибо Добавлено через 8 минут и 49 секунд иногда (вот тут например) еще бывают выделения http://tv.yandex.ru/index.xml?hour=7&p...&mode=print
|
||||||||
|
|||||||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 12 Всего: 386 |
если присмотреться внимательно, окажется что все нужные строчки начинаются с <div> и заканчиваются сдледующим </div>. Так что регулярка совершенно простая...
смотреть на массив и выбирать нужные кусочки, складывать из них нужную картинку... насчет модификаторов не уверен, возможно и без надобности... чтобы выкинуть лишние теги из текста - можно использовать strip_tags -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| jkffdwitnas |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
спасибо огромное, буду делать как написал.
о результатах отпишусь |
|||
|
||||
| jkffdwitnas |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
чистый лист |
|||
|
||||
| NLspieler |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 1 Всего: 19 |
У меня ваш скриптик вообще не работает, возникает синтаксическая ошибка.
Зачем символ $ возле preg_match_all во второй строчке? Первая строчка вообще приводит меня в ужас. Зачем нужны такие странные манипуляции, если можно воспользоваться функцией file_get_contents? Вот написал простенький скриптик.
Это сообщение отредактировал(а) NLspieler - 7.5.2010, 22:03 |
|||
|
||||
| jkffdwitnas |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
спасибо большое, так работает
буду приспосабливать дальше |
|||
|
||||
| jkffdwitnas |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
пардон, в вашем варианте при парсинге вот такой страницы отсутствуют строки с <b></b>
http://tv.yandex.ru/index.xml?hour=7&p...&mode=print |
|||
|
||||
| NLspieler |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 619 Регистрация: 13.10.2008 Где: Берлин Репутация: 1 Всего: 19 |
В ругулярках нужно учитывать все возможные случаи, попробуй такую.
Если не нужны теги <b></b> в результатах, можешь их вырезать
Это сообщение отредактировал(а) NLspieler - 8.5.2010, 00:53 |
||||
|
|||||
| jkffdwitnas |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
NLspieler, спасибо за помощь
результат такой
итого в $rasp четко пары "время"=>"название", из этого уже можно слепить любую таблицу или дивов своих наделать (чем и займусь) надеюсь яндекс не изменить формат |
|||
|
||||
| noNoMercy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 9.4.2007 Репутация: нет Всего: нет |
Извините, но если мы тянем xml файл, не проще было бы работать с SimpleXML?
|
|||
|
||||
| ksnk |
|
|||
![]() прохожий ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 6855 Регистрация: 13.4.2007 Где: СПб Репутация: 12 Всего: 386 |
noNoMercy,
в каком месте тут стоит xml? -------------------- Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! |
|||
|
||||
| noNoMercy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 9.4.2007 Репутация: нет Всего: нет |
||||
|
||||
| jkffdwitnas |
|
||||||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
господа регулярщики, снова прошу вас о помощи
тянуть расписание с яндекса оказалось грустно даже с кешированием (он часто висит, и там бывает нет расписание на следующие дни, хотя на сайте канала расписание есть). единственный плюс такого - одинаковый формат для всех телеканалов но так как качество важнее, да и каналов у меня всего два, то почему бы не попробовать вытянуть то же самое из оригинальных сайтов ТНТ: вот часть страницы для раздербанивания (http://tvprogram.tnt-online.ru/2010-05-26.htm) если коротко, то так: из этого
надо выдрать это
тут есть явные блоки:
и второй канал (РЕН ТВ) http://www.ren-tv.com/tvschedule?task=view...h=05&day=26
надо выдрать это
тут также есть явные блоки
Добавлено через 9 минут и 52 секунды благодарю за подсказки и помощь в регулярках Это сообщение отредактировал(а) jkffdwitnas - 25.5.2010, 21:39 |
||||||||
|
|||||||||
| noNoMercy |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 5 Регистрация: 9.4.2007 Репутация: нет Всего: нет |
Посмотрите вот такую штуку http://simplehtmldom.sourceforge.net/
|
|||
|
||||
| jkffdwitnas |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
noNoMercy, благодарю. Потрясающая штука, очень гибкая и удобная, все что хотел сделал за час без знаний регулярок
|
|||
|
||||
| jkffdwitnas |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 59 Регистрация: 25.10.2009 Репутация: нет Всего: нет |
спешу показать вам результат
вот расписание ТНТ (тянется с официального сайта, парсится с помощью вышеупомянутого simplehtmldom, кешируется) http://repka.in.ua/index.php?option=com_co...mid=12#tntchart и такое же для РЕН ТВ (тоже с офф сайта) http://repka.in.ua/index.php?option=com_co...mid=12#tntchart (якорь забыл поменять) кому интересен процесс изнутри пишите, расскажу благодарю всех за поддержку |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Тексты | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |