我正在尝试编写一个非常简单的RSS频道,该频道将显示来自sinfest.net的当天漫画,但我不能强制它显示除链接标题之外的任何内容。 链接到其中一个代码版本:
<?php
$page = file_get_contents('http://www.sinfest.net/index.php');
$title = '';
$description = '';
$link = '';
$date = date("Y-m-d");
if (preg_match('~<img src="(http://sinfest\\.net/comikaze/comics/.*\\.gif)" alt="(.*)" border="0" />~isU', $page, $match)) {
$title = $match[2];
$description = "<img src='{$match[1]}'/>";
}
if (preg_match('~<a href="http://sinfest\\.net/archive_page\\.php\\?comicID=([0-9]*)"><img src="images/prev_a.gif"~isU', $page, $match)) {
$link = 'http://sinfest.net/archive_page.php?comicID=' . ($match[1]+1);
}
$ok = $title && $description && $link;
$image = "http://www.sinfest.net/comikaze/comics/" . $date . ".gif";
echo '<?xml version="1.0" encoding="ISO-8859-1" ?>';
echo '<rss version="2.0">
<channel>
<title>Latest Sinfest</title>
<link>http://www.sinfest.net/</link>
<description>Latest Sinfest</description>
<image>
<url>' . $image . '</url>
<title>' . htmlspecialchars($title) . '</title>
<link>' . htmlspecialchars($link) . '</link>
</image>';
if ($ok):
echo ' <item>
<title>' . htmlspecialchars($title) . '</title>
<link>' . htmlspecialchars($link) . '</link>
<description><img src="' . $image . '" /></description>
<enclosure url="' . $image . '" type="image/jpeg" />
</item>';
elseif (!isset($_GET['noerror'])):
echo ' <item>
<title>Error parsing news.' . date('Y-m-d H:i:s') . '</title>
<link>about:blank</link>
<description>Error parsing news.</description>
</item>';
endif;
echo ' </channel>
</rss>';
?>
仅RSS代码(我没有删除PHP变量):
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rss version="2.0">
<channel>
<title>Latest Sinfest</title>
<link>http://www.sinfest.net/</link>
<description>Latest Sinfest</description>
<image>
<url>' . $image . '</url>
<title>' . htmlspecialchars($title) . '</title>
<link>' . htmlspecialchars($link) . '</link>
</image>
<item>
<title>' . htmlspecialchars($title) . '</title>
<link>' . htmlspecialchars($link) . '</link>
<description><img src="' . $image . '" /></description>
<enclosure url="' . $image . '" type="image/jpeg" />
</item>
</channel>
</rss>
知道我做错了什么,可能还有一些建议吗?谢谢是提前。
答案 0 :(得分:12)
你最好的选择是CDATA那个图像部分(或者你可以“htmlentities()”它,但这样更好!)
<description><![CDATA[<img src="' . $image . '" />]]></description>