【发布时间】:2011-11-17 09:31:41
【问题描述】:
抱歉,之前有人问过这个问题 - 有一个标题类似的问题,但不是我要找的。p>
我正在做的是从数据库中获取结果并将它们打印在适当的标签中以创建 RSS 提要。
唯一的问题是文章的正文包含 html 标记,因此我的 rss 提要无法正确加载。
到目前为止我已经尝试过:
$rssfeed .= '<description>' . htmlentities($row['text') . '</description>';
和
$rssfeed .= '<description>' . htmlspecialchars($row['text'], ENT_COMPAT, 'UTF-8') . '</description>';
使用其中任何一个只会给我一个完全空白的提要。
其实我也试过了,得到了同样的结果:
$rssfeed .= '<description>' . $row['text']. '</description>';
我现在更困惑了,这应该有效吗?我唯一能想到的是数据库中的行对于 RSS 提要来说太长了,因为它是一个包含文本和 HTML 的完整文章。
我不确定它是否会被自动截断。
有什么想法吗?
更新
这是一些示例输出:
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>RSS feed</title>
<link>http://www.12345.co.uk</link>
<description>RSS Feed from 12345.co.uk</description>
<language>en-uk</language>
<copyright>Copyright (C) 2011 12345.co.uk</copyright>
<item>
<title>Wear safe but stylish sunglasses on the slopes</title>
<description><![CDATA["<p>Holidaymakers hitting the slopes this year must remember to pack a pair of sunglasses alongside their skis, one expert has highlighted.</p>
<p>Dharmesh Patel, chairman of the Eyecare Trust, noted that UV protective eyewear is a must for skiers.</p>
<p>Posted by xxxxx</p>v"]]>
</description>
<link></link>
<pubDate>Mon, 03 Oct 2011 16:57:09 +0000</pubDate>
</item>
【问题讨论】:
-
您既不会关闭
<channel>,也不会关闭<rss>-tag。 -
我复制后一定是误删了它——这篇文章很大,所以我只保留了几行——我肯定会在我的 PHP 代码中关闭它们。