檢視 Mediawiki 程式說明/取段落 的原始碼
←
Mediawiki 程式說明/取段落
跳轉到:
導覽
、
搜尋
根據以下的原因,您並無權限去做編輯這個頁面:
您剛才的請求只有這個使用者組的使用者才能使用:
使用者
你可以檢視並複製本頁面的原始碼。
[[分類:Mediawiki]] {{:Mediawiki 修改#除錯}} ==由頁名/段名取段落wiki原文== 步驟: #拆解頁名中的名字空間及純頁名 #$wgContLang->mNamespaceIds['名字空間']為該名字空間之id #Title類別建構子為空方法,但Title::makeTitle(名字空間id,純頁名)可以得回Title物件 #new Article(Title物件)可以得回Article物件 $Article #$Article->getContent()可以取回wiki原文 #產生陣列 $Article->mParserOutput->mSections ,稱之為$sections #$sections為註標索引陣列,每一元素為一段,元素值為段落描述陣列 #查出某段名的段序號,即可代入 $wgParser->getSection($Article->getContent(),段序號)) 求該段的 wiki 原文 ===段落描述陣列=== 以「公共教育重設定」的第二段為例: [toclevel] => 2,上一層level [level] => 3,本段為第幾層 [line] => 時代的限制,段名 [number] => 1.1,幾之幾 [index] => 2,第幾段 [fromtitle] => 公共教育重設定,隸屬的頁名 [byteoffset] => 511,byte數 [anchor] => .E6.99.82.E4.BB.A3.E7.9A.84.E9.99.90.E5.88.B6,錨點 #line為段名 #index為段序號 ==從步驟3開始的程式說明== 以「公共教育重設定」的第二段為例: *步驟3,4,由頁名取文章 $Article=new Article(Title::makeTitle(0,'公共教育重設定')); *步驟6,產生文章的段落描述,以下三行在Article類別,view()方法中 $parserOptions = $Article->getParserOptions(); $parserCache = ParserCache::singleton(); $Article->mParserOutput = $parserCache->get( $Article, $parserOptions ); 不能用view()方法,不然會產生畫面中額外的bodytext輸出 *步驟7,由段名找段序號 $sectionLine='時代的限制'; $sectionIndex=0; foreach($Article->mParserOutput->mSections as $v){ if($v['line']==$sectionLine){$sectionIndex=$v['index'];break;} } *步驟8,傳回段落wiki原文 $wgParser->getSection($Article->getContent(),2); ===相關方法屬性描述=== *取回Title物件:Title::makeTitle(名字空間編碼,純名) *取回Article物件:new Article(Title物件) *取頁的wiki全文:Article物件getContent()方法 *產生文章的段落描述:Article物件view()方法 *各段描述陣列:Article物件->mParserOutput->mSections *取段的wiki原文:$wgParser->getSection(全文,段序號) ==其他說明== ===由請求的 URL 取段序號=== $section=$wgRequest->getVal('section'); ===由Article透過RawPage求wiki全文=== 有Article其實可以直接用getContent()取回wiki原文,不必繞 RawPage 和 Revision $rawPage=new RawPage($Article); // 起RawPage須給入某Article Revision::newFromTitle($rawPage->mTitle,$rawPage->mOldId)->getText(); #給一個Article,用 RawPage 物件即可取得其頁名(title)及版本id(oldId) #用Revision類的newFromTitle方法套入版本id及頁名可以得到版本物件 #用版本物件的getText()方法可以得到wiki原文
返回到
Mediawiki 程式說明/取段落
。
導航
個人工具
登入
名字空間
頁面
討論
變換
檢視
閱讀
檢視原始碼
檢視歷史
動作
搜尋
導覽
首頁
近期變動
隨機頁面
使用說明
工具箱
連入頁面
相關頁面修訂記錄
特殊頁面
頁面資訊