gpt4 book ai didi

php - 使用包含 HTML 的行创建 RSS Feed 会导致 Feed 为空

转载 作者:行者123 更新时间:2023-11-29 06:13:02 29 4
gpt4 key购买 nike

很抱歉,如果之前有人问过这个问题 - 有一个标题相似的问题,但它不完全是我正在寻找的内容。

我正在做的是从数据库中获取结果并将其打印在适当的标签内以创建 RSS Feed。

唯一的问题是文章正文包含 html 标签,因此我的 rss 提要无法正确加载。

到目前为止我已经尝试过:

$rssfeed .= '<description>' . htmlentities($row['text') . '</description>';

$rssfeed .= '<description>' . htmlspecialchars($row['text'], ENT_COMPAT, 'UTF-8') . '</description>';

使用其中任何一个只会给我一个完全空白的提要。

实际上我也尝试过并得到了相同的结果:

$rssfeed .= '<description>' . $row['text']. '</description>';

我现在更困惑了,这肯定应该有效吗?我唯一能想到的是数据库中的行对于 RSS Feed 来说太长了,因为其中有一篇完整的文章,包含文本和 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>

最佳答案

由于 RSS 是一种 XML 语言,因此您需要使用 CDATA 部分:

<description><![CDATA["<b>Use tags here</b>"]]></description>

在 PHP 中,您可以使用 XMLWriter 轻松存档此内容(使用 startCData() )。和 endCData() -方法。

XML 阅读器是否正确显示 HTML 取决于它所使用的解析器。然而,使用转义序列是 valid XML .

关于php - 使用包含 HTML 的行创建 RSS Feed 会导致 Feed 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8164856/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com