discuz RSS 全文输出
discuz本身不支持RSS的全文输出
这样想提供订阅给访客就很不方便。
之前看到一个
方法
可以伪全文输出,
输出的内容是帖子的$message,
但这个$message是以discuz代码存储在数据库中的,
比如一个链接,他不是a标签,
而是[url][/url]
感觉应该能用正则来解决,但应该很复杂。
今天猛然想起来,discuz自己有个广播的功能,
可以将帖子的内容输出显示到另外一个页面,
就去看了这个功能的文件,
然后就看到了一大堆的正则表达式。
$message = str_replace(array(
'[/color]', '[/backcolor]', '[/size]', '[/font]', '[/align]', '[b]', '[/b]', '[s]', '[/s]', '[hr]',
'[i=s]', '[i]', '[/i]', '[u]', '[/u]', '[list]', '[list=1]', '[list=a]',
'[list=A]', "\r\n[*]", '[*]', '[/list]', '[indent]', '[/indent]', '[/float]'
), '', preg_replace(array(
"/\[color=([#\w]+?)\]/i",
"/\[color=((rgb|rgba)\([\d\s,]+?\))\]/i",
"/\[backcolor=([#\w]+?)\]/i",
"/\[backcolor=((rgb|rgba)\([\d\s,]+?\))\]/i",
"/\[size=(\d{1,2}?)\]/i",
"/\[size=(\d{1,2}(\.\d{1,2}+)?(px|pt)+?)\]/i",
"/\[font=([^\[\<]+?)\]/i",
"/\[align=(left|center|right)\]/i",
"/\[float=left\]/i",
"/\[float=right\]/i"
), '', $message));
上面是其中的一部分。
想请教一下,这样的话,我应该如何在全文输出$message内容的时候,利用上这些正则表达式呢?
空气化的H音
11 years, 7 months ago