подскажите как отпарсить?
Доброго времни суток, задача такая
есть: <div class="news" > <b>Фильм</b> : Высоцкий. Спасибо, что живой<br/> <b>Год выхода</b>: 2011<br/> <b>Жанр</b> : драма, биография<br/> <b>Режиссер</b>: Петр Буслов<br/> <b>В ролях:</b> Оксана Акиньшина, Сергей Безруков, Андрей Смоляков, Иван Ургант, Максим Леонидов, Андрей Панин, Владимир Ильин, Дмитрий Астрахан, Анна Ардова, Владимир Меньшов<br/> <b>Выпущено</b>: Россия, Дирекция Кино<br/> <b>Продолжительность</b>: 02:07:51<br/> <b>Перевод</b>: Оригинал<br /><br/> <b>Качество</b>: TS<br/> <b>Размер</b>: 1.37 Gb<br/><br/> <b>О фильме</b>: Действие фильма разворачивается в 1979 году, когда на одном из концертов Высоцкому становится плохо с сердцем. Он переживает клиническую смерть. </div> мне нужно в разные переменные занести название фильма, Жанр... кто знает как это реализовать, js/jquery/php неважно Контент менять нельзя! |
мне конструкция сего html немного мешает, вот если бы описания были бы тоже в каком теге, то былобы проще, например:
<b>Жанр</b><div>Боевик</div> в jquery выдернул бы так $('.news b').each(function(){ if( $(this).text()=='Фильм' ) alert($(this).next().text()) }); А как сделать без тега, непойму. |
Цитата:
Вот такой вот алгоритм. :) |
блиииин точно, а я то голову ломаю, причем не первый раз на подобной задаче торможу. Спасибо огроменное.
|
можно пробежаться jquery по всем <b></b>
и брать соседний элемент, если там других тегов нет <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>demo</title> <script type='text/javascript' src='http://code.jquery.com/jquery-git.js'></script> <script> $(function(){ var result = {}; $('.news b').each(function () { result[$(this).text()] = $(this.nextSibling).text().replace(/\s*:\s*/, ''); }); // проверка alert(result['Фильм']); alert(result['Год выхода']); // ... }); </script> </head> <body> <div class="news" > <b>Фильм</b> : Высоцкий. Спасибо, что живой<br/> <b>Год выхода</b>: 2011<br/> <b>Жанр</b> : драма, биография<br/> <b>Режиссер</b>: Петр Буслов<br/> <b>В ролях:</b> Оксана Акиньшина, Сергей Безруков, Андрей Смоляков, Иван Ургант, Максим Леонидов, Андрей Панин, Владимир Ильин, Дмитрий Астрахан, Анна Ардова, Владимир Меньшов<br/> <b>Выпущено</b>: Россия, Дирекция Кино<br/> <b>Продолжительность</b>: 02:07:51<br/> <b>Перевод</b>: Оригинал<br /><br/> <b>Качество</b>: TS<br/> <b>Размер</b>: 1.37 Gb<br/><br/> <b>О фильме</b>: Действие фильма разворачивается в 1979 году, когда на одном из концертов Высоцкому становится плохо с сердцем. Он переживает клиническую смерть. </div> </body> </html> |
Да круто и удобно запихнуть все в асоцциативный массив.
не могу только описание nextSibling найти. догадываюсь конечно что он делает, его то мне и нехватало для полного счастья, но где вы его нашли? |
Цитата:
|
Не знаю, кому как, а я бы наверное split-анул бы содержимое <div class="news">...</div> на br-ы, а потом перебирал по элементно созданные индексы. Если последовательность не изменна, значит 0 - название фильма, 1 - год, 2 - жанр и т.д.
|
Часовой пояс GMT +3, время: 13:55. |