подскажите как отпарсить?
Доброго времни суток, задача такая
есть: <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, время: 06:10. |