您现在的位置是:首页 > cms教程 > Discuz教程Discuz教程

Discuz论坛添加Wiki语法的方法

雁卉2025-07-08Discuz教程已有人查阅

导读目标是使在论坛中的特定语法能够被解析为Wiki实际的url, 如:关键字需要支持以下2种论坛语法:

目标是使在论坛中的特定语法能够被解析为Wiki实际的url, 如:关键字需要支持以下2种论坛语法:
使论坛支持 [wiki]关键字[/wiki] 这样的语法.
使论坛支持wiki特定的引用语法, 如在MoinMoin wiki下是 ["关键字"], 在MediaWiki下是 [[关键字]].
原理是使用语法扫描器在页面解析的时候扫描帖子内容, 对专门的语法实施特定文本替换.
实施:
viewthread.php文件
负责展现帖子的程序是viewthread.php这个文件, 打开并定位到大约330多行左右, 可以看到下面的代码, 这?嵌蕴幽谌萁杏锓ㄌ婊坏牡胤? 我们在这下面继续加入我们自己的语法解析器即可.
$post['message'] = discuzcode($post['message'], $post['smileyoff'],
$post['bbcodeoff'], $post['htmlon'], $forum['allowsmilies'],$forum['allowbbcode'],
($forum['allowimgcode'] && $showimages ? 1 : 0),$forum['allowhtml'],
($forum['jammer'] && $post['authorid'] != $discuz_uid ? 1 : 0), 0, $post['authorid']);
这是我加入的自定义新增wiki语法解析函数, 为了管理方便将其独立置于addons/dz_moinwiki.php文件中, 当然名字任由您定.
$post['message'] = moinwiki_parse($post['message']);
别忘了在文件起始部分加入文件引用:
include_once(DISCUZ_ROOT.'./addons/dz_moinwiki.php');
dz_moinwiki.php文件
解析代码会循环匹配正则表达式所限定的格式然后将其替换为html, 如果需要mediawiki的语法可以将第二个正则表达式替换为 '#\[\[(.+?)\]\]#s' 需要注意的是第二种语法只能在支持html的论坛中使用, 第一种则不限.
<?php
function moinwiki_parse($message)
{
while (preg_match('#\[wiki\](.+?)\[/wiki\]#s', $message, $match))
{
$wiki_name = $match[1];
$wiki_html = '<b><a href="http://wiki.cwowaddon.com/'.$wiki_name.'" target="_blank">'.$wiki_name.'</a></b>';
$message = str_replace($match[0], $wiki_html, $message);
}
while (preg_match('#\[\"(.+?)\"\]#s', $message, $match))
{
$wiki_name = $match[1];
$wiki_html = '<b><a href="http://wiki.cwowaddon.com/'.$wiki_name.'" target="_blank">'.$wiki_name.'</a></b>';
$message = str_replace($match[0], $wiki_html, $message);
}
return $message;
}
?>
通过这个简单的例子我们也可以看到, 只需对现有html所见即所得技术加以小扩展即可支持核心的wiki语法, 而又能享受到排版的便利, 如果wiki也能使用论坛这样的语法技术, 写作门槛将大大降低。

本文标签:

很赞哦! ()

相关源码

  • (自适应)WordPress主题SEO自媒体博客资讯模板RabbitV2.0Rabbit v2.0主题专注于网站搜索引擎优化需求,为博客、自媒体及资讯类网站提供专业的SEO技术解决方案。该主题从架构设计到功能实现均围绕搜索引擎优化理念展开。查看源码
  • (自适应响应式)蓝色律师事务所法务团队网站pbootcms模板为律师事务所和法律服务机构打造的专业网站模板,展现法律专业性与权威性,手工编写标准DIV+CSS代码,结构清晰优化,确保高效运行,自动适配电脑、平板和手机等各类设备,提供更好浏览体验查看源码
  • 响应式茶叶茶道pbootcms网站模板源码(自适应手机端)棕色复古茶具主题的响应式网站模板,为茶叶茶道企业设计,同时支持古玩字画、艺术文化等行业的快速适配,通过替换文字图片即可转型为其他行业官网,大幅降低开发成本。查看源码
  • 粉色家政月嫂保姆公司pbootcms网站模板(PC+WAP)为家政服务、月嫂保姆企业打造的营销型解决方案,基于PbootCMS内核开发,采用温馨粉色主题传递行业温度。PHP7.0+高性能架构支持SQLite/MySQL双数据库查看源码
  • (PC+WAP)货运物流快递仓储货架pbootcms网站模板下载本模板基于PbootCMS开发,为货运物流、快递配送、仓储货架等行业设计,支持PC+WAP自适应,确保在电脑、手机、平板等设备上均能流畅访问。适用于物流公司、仓储企业查看源码
  • (PC+WAP)安保服务保安保镖模板免费下载本模板基于PbootCMS内核开发,为安保服务企业量身打造。设计风格严谨专业,突出安保行业的安全、可靠特性,展示企业服务项目与实力。采用响应式设计,PC与移动端数据同步,管理便捷。模板布局合理查看源码
分享笔记 (共有 篇笔记)
验证码:

本栏推荐