allwiki首页  
天下维客 你可以修改的网络知识库
首页最近更改优秀条目专题展示电脑科技词典软件学习网络知识电脑安全明星时尚天下百科
 

MediaWiki扩展:随机展示

天下维客,你可以修改的网络知识库

Jump to: navigation, search
MediaWiki扩展简明教程 Inputbox帮助文档 使用Spam黑名单 内容折叠隐藏 动态文章列表 指定图片链接
代码高亮处理 预置初始编辑文本 页面访问限制 所见即所得编辑器 QQ在线信息
交流:扩展使用 投票与评分 内容随机展示 wikitex 改进设想 ...更多
加入google地图和51地图标注功能 Ajax五颗星评分插件

This extension allows for randomly-generated content inside your wiki; e.g. rotating images, random greetings, etc.

Example

The code in this page will only work in MediaWiki 1.5 and above. (Alternate version for 1.4.x)

Algorithm 05:57, 8 September 2005 (UTC)

<?php
 # Wiki random selection extension
 # Randomly chooses one of the given options to display.
 # Usage: <choose><option>A</option><option>B</option></choose>
 # Optional parameter: <option weight="3"> == 3x weight given
 
 $wgExtensionFunctions[] = "wfChooseExt";
 
 function wfChooseExt()
 {
     global $wgParser;
     $wgParser->setHook( "choose", "renderChosen" );
 }
 
 function renderChosen( $input )
 {
     # Prevent caching
     global $wgParser;
     $wgParser->disableCache();
 
     # Choose an option at random
     $len = preg_match_all("/<option(?:(?:\\s[^>]*?)?\\sweight=[\"']?([^\\s>]+))?"
         . "(?:\\s[^>]*)?>([\\s\\S]*?)<\\/option>/", $input, $out);
     $r = 0;
     for($i=0; $i<$len; $i++)
     {
         if(strlen($out[1][$i])==0) $out[1][$i] = 1;
         else $out[1][$i] = intval($out[1][$i]);
         $r += $out[1][$i];
     }
     if($r <= 0) return "";
     $r = mt_rand(1,$r);
     for($i=0; $i<$len; $i++)
     {
         $r -= $out[1][$i];
         if($r <= 0)
         {
             $input = $out[2][$i];
             break;
         }
     }
 
     # Render chosen text
     global $wgUser, $wgTitle;
     $parserOptions = ParserOptions::newFromUser( $wgUser );
     $localParser = new Parser();
     $input = $localParser->parse($input, $wgTitle, $parserOptions, false);
     return $input->mText;
 }
?>
MediaWiki扩展简明教程 Inputbox帮助文档 使用Spam黑名单 内容折叠隐藏 动态文章列表 指定图片链接
代码高亮处理 预置初始编辑文本 页面访问限制 所见即所得编辑器 QQ在线信息
交流:扩展使用 投票与评分 内容随机展示 wikitex 改进设想 ...更多
加入google地图和51地图标注功能 Ajax五颗星评分插件
mediawiki图标

MediaWiki是全球最著名和最流行的开源wiki程序,运行于PHP+MySQL环境。MediaWiki从2002年2月25日被维基百科全书选用,并有大量其他应用实例。

MediaWiki功能齐备,中文支持良好,且学习资源丰富,是建立wiki网站的首选后台程序。目前国内的天下维客等站点都采用这套系统。

MediaWiki的开发得到维基媒体基金会的支持,一直保值着持续更新。目前最新版本为1.12.x。

mediawiki知识


mediawiki建站

mediawiki资源

国外站需代理访问

→ 更多mediawiki资料  相关资源:wiki知识 wiki文摘  QQ群:22134343 / 3680101-wiki建站与应用 5903157-电脑使用

Personal tools
工具
金银币拍卖 金币拍卖预展  金银币网店 熊猫金银币 生肖金银币