gpt4 book ai didi

php - 无法在 标记的 rss feed 中添加链接或图像

转载 作者:行者123 更新时间:2023-11-29 21:01:15 25 4
gpt4 key购买 nike

我希望得到一些帮助。我正在尝试为我的网站创建 RSS 提要。我已经成功了一半,但我只需要另一半的帮助。我似乎无法添加标题链接,并且似乎无法在标签中显示缩略图。有人能帮助我吗?

这是我到目前为止的代码:

 <?php
DEFINE ('DB_USER', 'root');
DEFINE ('DB_PASSWORD', '');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'testdb');

$connection = @mysql_connect(DB_HOST, DB_USER, DB_PASSWORD)
or die('Could not connect to database');
mysql_select_db(DB_NAME)
or die ('Could not select database');


$query = "SELECT teste.id, teste.title, teste.abstract, teste.body, teste.keywords, tesi.image FROM teste INNER JOIN tesi ON teste.title = tesi.title WHERE teste.title = tesi.title";
$result = mysql_query($query) or die ("Could not execute query");


$data = '<?xml version="1.0" encoding="UTF-8" ?>';
$data .= '<rss version="2.0">';
$data .= '<channel>';
$data .= '<title>Bang Premier</title>';
$data .= '<link>http://www.bangpremier.com</link>';
$data .= '<description>Entertainment News</description>';
while($row = mysql_fetch_array($result)) {
extract($row);
$data .= '<item>';
$data .= '<title>'.$row['title'].'</title>';
$data .= '<link>'.$row['image'].'</link>';
$data .= '<description>'.$row['abstract'].'</description>';
$data .= '</item>';
}
$data .= '</channel>';
$data .= '</rss> ';

header('Content-Type: application/xml');
echo $data;

?>

最佳答案

要调试错误,请查看生成的 XML。例如在浏览器中打开源 View 。您应该看到类似以下内容:

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title>Bang Premier</title>
<link>http://www.bangpremier.com</link>
<description>Entertainment News</description>
<item>
<title>Some Title</title>
<link>http://some.domain.tld/link</link>
<description>Some content</description>
</item>
</channel>
</rss>

验证提要是否是有效的格式正确的 XML 并包含数据。您问题中的代码将 image 数据库字段作为链接插入。

为此,您应该使用 htmlspecialchars() 对数据库中的值进行转义,或者更好地使用 XML Api(如 DOM 或 XMLWriter)来生成输出。

RSS 2.0 feed items没有 image 元素 - 只有 channel

您可以将其作为 img 元素包含在 description 中:

<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<item>
<title>Some Title</title>
<link>http://some.domain.tld/link</link>
<description>
&lt;img src="http:/example.tld/images/thumbnail.png">
&lt;br>
Some content
</description>
</item>
</channel>
</rss>

但是,有些客户端会编辑 HTML,并可能会删除 img

取决于您的 Feed 和预期客户 Media-RSS也可能是一个选择。

关于php - 无法在 <item> 标记的 rss feed 中添加链接或图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37209599/

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