neov

neov
Рейтинг
95
Регистрация
15.02.2005

Кстати, можно обобщить данную фичу с yandex на любое пространство имен.

В парсере вставляем функции:

xml_set_start_namespace_decl_handler($parser, "start_ns");

xml_set_end_namespace_decl_handler($parser, "end_ns");

описание обработчиков:

function start_ns($parser, $prefix, $uri) { 

//$prefix - выдает ns-имя (например yandex)
//$uri - выдает ns-адрес (например http://news.yandex.ru)
}
function end_ns($parser, $prefix) {
}

Все зависит от используемого подхода парсинга. Можно через xml, можно через dom, можно и влоб регулярными выражениями. В данном конкретном случае рассматривается xml-интерпретация.:)

Тег full-text не входит в спецификацию rss, а включен в пространство имен яндекса и обычным разборщиком он игнорируется.

Магнат, +1

Палю тему:

вместо xml_parser_create() используем xml_parser_create_ns(). В этом случае разборщик будет подставлять вместо ns-имени адрес xmlns, заданный в заголовке:

<rss version="2.0" xmlns:yandex="http://news.yandex.ru">

Таким образом в тегах <yandex:full-text> имя yandex будет заменено на адрес http://news.yandex.ru.

Теперь остается прописать в коде:

...'^ITEM^HTTP://NEWS.YANDEX.RU:FULL-TEXT'...

И мы получим все содержимое этого тега)))

Еще вопрос по платникам (никогда не покупал раньше, извините если боян;): если я покупаю какую-нибудь галерею, это означает что ее могу использовать только я и на сайте она больше продаваться не будет, или таких копий в день по сто штук продается?🚬

Спасибо за ссылки! Сейчас буду выбирать🚬 Если у кого-то есть еще предложения, выкладывайте:)

robust, поэкспериментировал со свойствами и согласился с вами🚬 Когда изучал особенности этих свойств, почему-то запомнил о DOM, хотя это совсем не причем... Разница только в том, что одно свойство резервирует место под блок, а второе оставляет пустым. Вот тестовый скрипт:

<html>

<head>
<style type="text/css">
#test1 {
visibility: hidden;
}
#test2 {
display: none;
}
</style>
</head>
<body>
<div id="test1">
<p>visibility testing code...</p>
</div>
<div id="test2">
<p>display testing code...</p>
</div>
<script>
var test_id = document.getElementById('test1');
alert(test_id.innerHTML);
</script>
</body>
</html>
robust:
давненько такого бреда не слышал, и куда ж он будет включаться? а вообще, о разнице между visibility и display в курсе?

Элементы с visibility: hidden; не включаются в DOM.

Используйте visibility: hidden; для элементов, которые в данный момент нет необходимости показывать. В этом случае, в отличие от правила display: none; элемент со своим содержимым не будет вообще включаться в исходный код страницы.

Поздравляю😆

Всего: 187