我的mediawiki版本是1.16.5。我有一個函數從數據庫中選擇一個隨機引用,並將其顯示在wiki頁面上。斜體字呈現,當我使用HTML,但是,我希望能夠用wikitext的,特別是外部鏈接的格式,即啓用mediawiki功能來呈現wiki文本
[http://mediawiki.org MediaWiki]
目前,如果使用類似上述內容,不渲染和顯示字面上。這裏有一些需要參考:http://www.mediawiki.org/wiki/Manual:Tag_extensions#How_do_I_render_wikitext_in_my_extension.3F但我不知道如何實現這一點。
下面是代碼:
function wfGetQuote() {
$randstr = wfRandom();
$row = selectRandomQuoteFromDB($randstr);
if(!$row)
$row = selectRandomQuoteFromDB("0");
if($row) {
list($quote, $attribution) = explode("\n", $row->quote_text);
return '<div id="trrandomquote"><div id="trquote">'. $quote .'</div> <span>'. $attribution .'</span></div>';
}
else
return 'Error: No quote found';
}
function selectRandomQuoteFromDB($randstr) {
global $wgUser, $site;
$lang = $wgUser->getOption('language');
if($site == 'wiki')
$lang = 'en';
$dbr = wfGetDB(DB_SLAVE);
$use_index = $dbr->useIndexClause('quote_random');
$quote = $dbr->tableName('quote');
$sql = "SELECT quote_text
FROM $quote $use_index
WHERE quote_random >= $randstr
AND quote_lang = '$lang'";
$sql = $dbr->limitResult($sql, 1, 0);
$fname = 'RandomQuote::selectRandomQuoteFromDB';
$res = $dbr->query($sql, $fname);
return $dbr->fetchObject($res);
}
你沒有開發標籤擴展,是嗎? – Bergi 2013-02-13 11:45:04
不,我只是想要現有的維基標記在引號文本中工作。 – greektranslator 2013-02-13 12:59:33