如何修改discuz论坛帖子RSS全文输出以及全图片输出

由于目前discuz的rss默认是输出一段description。而这样对于某些要求全文输出的工具(比如,QQ邮件栏目订阅或者扎克订阅)就无法使用了。
本人也在网上找了一些教程,但是还是无法全图片输出,只输出一张图片,而且还有字体格式代码。
网上教程如下:
找到文件:source/module/forum/forum_rss.php

找到位置:

if($attachfile) {
                    if($attachremote) {
                        $filename = $_G['setting']['ftp']['attachurl'].'forum/'.$attachfile;
                    } else {
                        $filename = (!strstr($_G['setting']['attachurl'], '://') ? $_G['siteurl'] : '').$_G['setting']['attachurl'].'forum/'.$attachfile;
                    }
                }

在上述代码下面,添加如下代码

$fdata = DB::fetch_first("SELECT * FROM ".DB::table('forum_post')." WHERE tid = '$thread[tid]' and first = 1");
$rss_img = DB::fetch_first("SELECT * FROM ".DB::table('forum_threadimage')." WHERE tid = '$thread[tid]'");

然后再找到下一段代码:

echo     "    <item>\n".
                    "      <title>".$thread['subject']."</title>\n".
                    "      <link>$_G[siteurl]".($trewriteflag ? rewriteoutput('forum_viewthread', 1, '', $thread['tid']) : "forum.php?mod=viewthread&amp;tid=$thread[tid]")."</link>\n".
                    "      <description><![CDATA[".dhtmlspecialchars($thread['description'])."]]></description>\n".
                    "      <category>".dhtmlspecialchars($thread['forum'])."</category>\n".
                    "      <author>".dhtmlspecialchars($thread['author'])."</author>\n".
                    ($attachfile ? '<enclosure url="'.$filename.'" length="'.$attachsize.'" type="image/jpeg" />' : '').
                    "      <pubDate>".gmdate('r', $thread['dateline'])."</pubDate>\n".
                    "    </item>\n";

修改下面一段代码,如下:

<description><![CDATA[".dhtmlspecialchars($thread['message'])."<br><img src=http://网站网址/data/attachment/forum/".dhtmlspecialchars($rss_img['attachment'])."/>]]></description>\n".

这个方法的原理是建立一个$fdata的变量,然后赋值为查询forum_post这张数据表中tid=帖子tid那行的数据
然后输出message值的数据。

这样的弊端在于,输出的的内容都是discuz代码,比如一个链接就会显示为[url]xxx[/url]这样是在阅读中,问题很大。
解决的办法也很复杂,需要用正则表达式来写。

这样rss输出的内容就是这个帖子的第一张图片和全文图片。以及还有字体的代码。

请问怎样修改代码,可以全文输出和所有的图片输出。

阅读 6.4k
2 个回答

大佬,问题解决了吗?

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏