php + rss: почему изображение не отображается? - PullRequest
1 голос
/ 10 июля 2010

Я делаю свой собственный RSS-канал на PHP для моего сайта, который загружает блог, который есть на моем сайте, из таблицы, называемой «блог», все работает как надо, за исключением одной вещи ... изображения не отображаются в статьях. Вот выходной фрагмент моего кода:

while($data = mysql_fetch_assoc($news))
{
    echo "<item>" . chr(10);
    echo "<title>[$data[type]] $data[name]</title>" . chr(10);
    echo "<author>Johannes Jensen</author>" . chr(10);
    echo "<link>http://www.funbyjohn.com/v2/?blog=$data[url]</link>" . chr(10);
    echo "<image>" . chr(10);

    if($data["type"] == "text")
    {
        $imageurl = "http://www.funbyjohn.com/v2/gfx/mini_me.png";
    } else
    {
        $imageurl = "http://www.funbyjohn.com/v2/media/thumb-$data[date].png";
    }

    echo "<src>$imageurl</src>" . chr(10);
    echo "<title>$data[name]</title>" . chr(10);
    echo "<link>http://www.funbyjohn.com/v2/?blog=$data[url]</link>" . chr(10);
    echo "</image>" . chr(10);

    if($data["type"] == "text")
    {
        $content = $data["content"];
    } else
    {
        $content = $data["label_info"];
    }

    echo "<description>" . strip_tags(preg_replace("/\n+/", " ", $content)) . "</description>" . chr(10);
    echo "<pubDate>" . date("D, j M Y H:i:s", $data["date"]) . " GMT</pubDate>" . chr(10);
    echo "</item>" . chr(10);
}

А вот пример вывода статьи

<item>
<title>[image] Here's a new screenshot from Go Sheep!</title>
<author>Johannes Jensen</author>
<link>http://www.funbyjohn.com/v2/?blog=heres-a-new-screenshot-from-go-sheep</link>
<image>
<src>http://www.funbyjohn.com/v2/media/thumb-1277466055.png</src>
<title>Here's a new screenshot from Go Sheep!</title>
<link>http://www.funbyjohn.com/v2/?blog=heres-a-new-screenshot-from-go-sheep</link>
</image>
<description>*article goes here*</description>
<pubDate>Fri, 25 Jun 2010 06:40:55 GMT</pubDate>
</item>

Я что-то не так делаю? Пожалуйста, помогите.

А вот мой RSS-канал для всех, кто заинтересован:
http://www.funbyjohn.com/v2/rss.php

Ответы [ 2 ]

2 голосов
/ 10 июля 2010

Я думаю, вам нужно использовать <url> intead of <src>.

http://cyber.law.harvard.edu/rss/rss.html#ltimagegtSubelementOfLtchannelgt

0 голосов
/ 10 июля 2010

CDATA - (без разбора) символьные данные

Термин CDATA используется для текстовых данных, которые не должны анализироваться анализатором XML.

Такие символы, как «<» и «&», недопустимы в элементах XML. <Br />
«<» сгенерирует ошибку, потому что парсер интерпретирует ее как начало нового элемента. <br />
«&» вызовет ошибку, потому что синтаксический анализатор интерпретирует ее как начало символьной сущности.

Некоторый текст, такой как код JavaScript, содержит много символов «<» или «&». Во избежание ошибок код скрипта можно определить как CDATA. <br />
Все внутри раздела CDATA игнорируется парсером.

Раздел CDATA начинается с <![CDATA[ и заканчивается ]]>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...