跳轉到內容

幫助:模板

This page is semi-protected.
來自華夏公益教科書

一個模板只是一個為包含在其他頁面上而設計的頁面。如果模板發生更改,這通常會反映在使用該模板的每個頁面上。正如您可能開始想象的那樣,模板是一個強大的工具,如果使用得當,可以減少工作量並提高可維護性。在本頁中,您將學習如何使用模板以及如何製作自己的模板。

模板 B 可以包含在頁面 A、P 和 Q 上以顯示其內容。更新模板將改變使用它的頁面上顯示的內容。


概述

模板可能包含任何所需的維基文字,包括對其他模板的呼叫。它們具有一些有限的程式設計能力:可自定義的值(稱為引數)、計算和分支(使用解析器函式)以及訪問維基特定的變數,例如日期、時間和頁面名稱。

要在頁面中使用模板,模板標籤(形式為{{模板名稱}},即包含在雙花括號中的模板名稱)將新增到您希望模板出現的位置。當讀者想要檢視頁面時,伺服器會獲取模板頁面的內容,處理與頁面相關的任何變數,並將結果顯示在模板標籤的位置。

模板對於任何希望在兩個或多個頁面中複製的文字很有用,並且不需要獨立編輯每個副本以適應它所在的頁面。由於可以使用引數,版本在一定程度上甚至可能有所不同,並且可以獨立編輯每個引數值。模板不僅方便,而且還可以“強制”有用的統一性,例如,某種“樣式”。

典型應用是

  • 訊息 用於顯示資訊 ({{split}})
  • 導航 在書籍的頁面或章節之間,以便線上更容易閱讀 ({{chapter navigation}})
  • 用於顯示視覺資訊的佔位符。例如表格、圖形、圖表、插圖等。
  • 由顯示更復雜想法的簡單影像表組成的複合材料 ({{chess diagram}}

模板頁面和名稱空間

模板有自己的名稱空間,它使用字首“Template:”(類似於熟悉的“User:”、“Help:”和“Talk:”名稱空間)。

大多數模板存在於模板名稱空間中,因此可以在標題為“Template:模板名稱”的頁面上找到。但是,有時使用者會在其他名稱空間(例如 User: 名稱空間)中建立模板。模板的正常使用(稱為轉包容)可以在任何名稱空間中進行,但模板名稱空間的優勢在於轉包容時不需要“Template:”字首。相比之下,為了從除了主名稱空間(書籍所在的名稱空間)之外的任何其他名稱空間轉包容內容,需要完整的名稱,包括名稱空間字首。如果從主名稱空間轉包容(這很少見),則必須在模板語法中新增冒號,否則軟體會將程式碼視為未建立的模板。因此

名稱空間 編碼示例 結果
模板 {{模板名稱}} 模板內容的轉包容
模板外部和主名稱空間 {{Wikibooks talk:頁面名稱}} 頁面內容的轉包容
主名稱空間 {{:書籍標題}} 書籍內容的轉包容
沒有冒號的主名稱空間 {{書籍標題}} 紅連結 到未建立的模板

模板名稱與其他頁面名稱完全相同:區分大小寫,除了第一個字母外,空格與下劃線不可區分。如果符號 #(通常用於連結到頁面的部分)出現在花括號內,那麼它以及跟隨它的任何字元都將被忽略。

模板頁面,就像大多數其他頁面一樣,有與其相關的討論頁面,編輯人員可以在那裡討論與模板相關的任何問題。(因此,模板不應放在“Talk:”名稱空間中,即使它們是為在討論頁面上使用而設計的;因為討論頁面本身沒有討論頁面,所以將沒有頁面來討論模板。)

模板用法

要將模板轉包容到另一個頁面,請使用以下語法(稱為模板標籤

{{ 模板名稱 | 引數 | 引數 | ... }}

這包括模板名稱和傳遞給模板的各種引數,其中每個引數由一個豎線(或管道)分隔,並且整體由雙花括號 {{...}} 包圍。模板標籤應放置在要顯示模板的頁面上的任何位置。“Template:”字首永遠不需要用於轉包容,只需要用於查詢和編輯模板本身(儘管如果模板是在不同的名稱空間中建立的,則需要該字首)。並非所有模板都有引數,並非所有具有引數的模板都需要提供值,因此有時 {{模板名稱}} 就足以使用模板。如果需要引數,但使用者未提供值,則模板可能會呈現為 {{{...}}} 在文字中,其中“...”可能是數字或引數名稱。這是為了告知使用者缺少命名引數或無名引數,可以透過使用引數預設值 來避免這種情況。

引數有兩種基本形式

  • 無名引數(有時稱為“位置”引數):按其出現的順序放入模板中的值
    {{模板名稱|引數 1|引數 2|... }}
  • 命名引數:與模板中特定命名鍵關聯的值
    {{模板名稱| 引數名稱 1 = 引數 1 | 引數名稱 2 = 引數 2 | ... }}

這些可以混合使用

{{模板名稱|引數 1|引數 2| 引數名稱 1 = 引數 3 | 引數名稱 2 = 引數 4 | ... }}

按照慣例,命名引數列在最後,但這並不是必需的。空白字元(空格、製表符、回車符)將從命名引數值的開頭和結尾剝離(無名引數不受影響),但不會從中間剝離:因此 {{ ... | myparam = this is a test }} 將被視為使用者輸入了 {{ ... |myparam=this is a test}}。

模板頁面本身可能包含在轉包容模板時不會被轉包容的材料(例如模板本身所屬的文件或分類),或者在轉包容頁面時使用的材料(例如分類,適用於轉包容頁面,但不適用於模板)。請參閱以下對includeonlynoinclude 標籤的討論。

嘗試轉包容不存在的模板會產生紅連結,就像連結到任何其他不存在的頁面一樣。遵循連結允許使用者建立該特定模板。

基本模板用法示例

如果您想嘗試使用這些示例中的任何一個,請使用模板沙盒

沒有引數的模板

要檢視一個非常簡單的模板示例,請檢視Template:Tc。此模板只是將字母“in”轉入其他頁面。例如,將以下短語編輯到任何頁面將產生相關的結果

使用模板 {{tc}}
描述 輸入文字 處理後的結果
{{Tc}} 自身 {{tc}} in
{{tc}} 的單次使用 {{tc}} 2009年,隨著巴拉克·奧巴馬入主白宮,我們發現... in 2009, with Barack Obama settling into the White House, we find the beginning of...
{{tc}} 的多次使用 {{tc}} 2009年,隨著巴拉克·奧巴馬 settl{{tc}}g {{tc}}to the White House, we f{{tc}}d the beg{{tc}}n{{tc}}g of... in 2009, with Barack Obama settling into the White House, we find the beginning of...

您會注意到,儘管模板頁面上的說明文字(“此模板用於...”單擊上面的模板連結檢視),但模板在轉入時只包含字母“in”。如果編輯模板頁面(單擊此連結),您會看到除了字母“in”之外的所有內容都包含在“noinclude”標籤中,稍後將討論。

帶有未命名引數的模板

使用引數進行轉入只稍微複雜一些。為了便於說明,著名的dead man's hand 可以透過以下模板使用未命名的引數來複制

製作死人手牌
描述 輸入文字 處理後的結果
使用三個模板(Template:ClubsTemplate:DiamondsTemplate:Spades {{clubs|A}} {{clubs|8}} {{spades|A}} {{spades|8}} {{diamonds|9}} A 8 A 8 9
使用(Template:BridgeHandInline);不太漂亮,但只有一個模板,有四個引數。 {{BridgeHandInline|A8||9|A8}} ♠A8 9 ♣A8
使用(Template:BridgeHandInline),但缺少“管道”分隔符 {{BridgeHandInline|A8|9|A8}} ♠A8 9 A8 ♣{{{4}}}

在第二個示例中,模板標籤中引數的位置決定了它屬於哪個花色。因此,第一個 A8(第一個位置)屬於黑桃,空位置(第二個位置)屬於紅心,9(第三個位置)屬於方塊,第二個 A8(第四個位置)屬於梅花。請注意,空引數位置會被計算在內;如果忘記了額外的管道,如第三個示例所示,結果是卡片會出現在錯誤的位置,並且會顯示 {{{4}}},這意味著模板正在等待第四個位置引數的值,但沒有提供。

帶有命名引數的模板

使用命名引數類似於使用未命名引數。例如,Template:Payoff matrix(用於某些關於博弈論的書籍)使用 UL、UR、DL 和 DR 來表示左上、右上、左下和右下,並使用 Name 引數在矩陣底部新增名稱,從而提供了一個簡單的 2x2 網格,並具有可調整的值。

描述 程式碼 結果
收益矩陣 {{payoff matrix | UL = 5 | UR = 7 | DL = 2 | DR = 9 | Name = Example usage }}
5 7
2 9
Example usage
顯示缺失引數的預設值和不同順序的收益矩陣 {{payoff matrix | DR = 9 | Name = Example usage | DL = 2 | UR = 7 }}
0, 0 7
2 9
Example usage

在第二種情況下,引數的順序已更改,但結果未改變——這是命名引數相對於未命名引數的優勢之一——並且其中一個值(UL)已被完全刪除,允許模板插入預設值“0, 0”。

引數名稱區分大小寫,即使是第一個字元也是如此。例如,使用“dr = 9”“Dr = 9”“dR = 9” 代替 “DR = 9” 將導致右下單元格顯示預設值“0, 0”。大小寫不同的版本被視為不同的引數,會被模板忽略。

替換

通常,當用戶瀏覽頁面時,模板會被處理成可讀的文字。這是模板的正常目的:由於模板每次使用時都會重新計算,因此模板的更改可以快速輕鬆地傳播到許多頁面。但是,在某些情況下,這並不合適。例如,使用者可能希望使用一個模板返回一個固定日期或時間,而不是每次瀏覽頁面時都發生變化。對於這些情況,可以使用替換,方法是在模板標籤中新增subst:,並在模板名稱之前。替換正是其名稱所暗示的那樣:不是每次瀏覽頁面時都處理模板,而是替換在儲存編輯時處理模板,並將模板標籤替換為處理後的結果。

例如,模板 {{tc}}(如上所示)會在任何放置它的地方新增字母“in”。因此,維基文字 bra{{tc}} 將產生單詞 brain。但是,維基文字將始終保持為 bra{{tc}},因此,如果 {{tc}} 被更改為新增字母“wn”,維基文字將產生 brawn 而不是 brain。像這樣進行替換——bra{{subst:tc}}——將永久更改維基文字以讀取 brain,以後對模板 {{tc}} 的更改將不會影響替換後的文字。

常見錯誤

URL 問題

URL 可以包含等號(=),例如 http://some.page.org?key=value&key2=value2。但是,模板引數列表中的第一個等號始終被視為設定一個命名的模板引數。因此,{{some template|http://some.page.org?key=value&key2=value2}} 將被視為 http://some.page.org?key 是一個引數名稱,而不是 URL 的開始。解決此問題有兩種方法

  • 使用顯式的位置引數引用:{{some template|1=http://some.page.org?key=value&key2=value2}}。'1=' 明確地引用第一個位置引數,並將消除後續的等號
  • 使用特殊模板 {{=}}:{{some template|http://some.page.org?key{{=}}value&key{{=}}value2}}。此模板返回一個不被維基軟體解析或解釋的等號。

空白問題

命名 引數會自動去除引數中的空白——空格、製表符、回車符和換行符,或其他不可見字元。未命名 引數將保留所有空白。這會導致意外的格式問題,因為預期行為不符。

垂直管道問題

垂直管道字元 (|) 用於模板(和解析器函式)中以分隔引數。如果您需要向模板引數提供管道字元,則使用特殊模板 {{!}},它返回一個未解析的管道字元,或者使用HTML 實體 | 表示管道字元。

建立和編輯模板

模板的建立和編輯方式與其他頁面類似:選擇一個合適的名稱,導航到該頁面,然後單擊“編輯”選項卡或根據需要建立新頁面。唯一的真正區別是,模板通常放在“Template:”名稱空間中,而不是(沒有字首的)主名稱空間中。任何可以在普通頁面上包含的內容都可以包含在模板中,包括其他模板。除此之外,模板還可以訪問程式設計功能——引數解析器函式變數——這些功能允許根據上下文進行使用,以及幫助控制哪些資訊被轉入,哪些資訊不被轉入的特殊標籤。

建立模板時,最好遵循以下幾個簡單的原則

  • 選擇一個簡短、描述性的名稱。有些人建議通用的模板名稱全部使用小寫字母,而特定書籍的模板名稱使用 Template:Book Name/Template Name 的形式,但目前還沒有硬性規定。
  • 快速搜尋 模板空間或瀏覽模板 以確保您要建立的模板尚未存在。有時,增強現有模板比從頭開始建立新模板更容易更好。
  • 確保您的模板已正確記錄並在正確的類別中。 (見下文)
  • 儘量使您的模板模組化:即能夠獨立存在並適應各種不同的頁面環境,不會出錯、產生不良輸出或影響頁面的佈局。一般來說,您希望您的模板對其他編輯者透明有效——他們需要投入的精力越多來理解如何使用您的模板,他們就越不願意使用它。

模板文件

對您的模板進行分類和記錄將使其他編輯更容易找到和使用它。

  • 要新增文件,將 {{documentation}} 模板放在模板頁面上的“noinclude”標籤中。這將建立一個文件子頁面,您可以對其進行編輯
  • 適用於模板本身的類別應新增到模板頁面(在“noinclude”標籤中,使用 {{documentation}} 模板)。應轉入到轉入頁面的類別應放在模板頁面上的“includeonly”標籤中。

引數

引數是允許將維基文字饋送到模板的特殊程式碼;可以構造模板以根據接收到的引數值產生不同的結果。引數可以有名稱,也可以透過模板標籤中提供的值的順序來引用(模板程式碼中引數的順序無關緊要)。模板中的引數採用 {{{...}}} 的形式,其中三重的花括號包圍著命名引數的名稱或位置引數的編號。輸入的引數值可以很長,如果需要,可以將整個頁面的轉入用作引數的值。

為了瞭解引數的工作原理,請考慮以下示例。假設有一個名為“peoplepets”的模板,它產生一些關於人和寵物的文字。此模板的模板標籤可能如下所示

A. {{ peoplepets | John | Mary | age = 6 | Fido | small | kind = dog }}
B. {{ peoplepets | Bill | Susan | age = 7 | Queenie | fat | kind = cat }}

模板本身的內容,位於頁面 Template:Peoplepets 上,如下所示

{{{1}}}{{{2}}} 擁有一隻 {{{4}}} {{{kind}}},名叫 {{{3}}},它今年 {{{age}}} 歲。

因此,上面的兩個模板標籤將分別轉入以下文字。

A. 約翰和瑪麗養了一隻名叫菲多的小狗,它今年 6 歲。
B. 比爾和蘇珊養了一隻名叫奎妮的肥貓,它今年 7 歲。

注意事項

  • 位置引數的編號會跳過命名引數(例如上面的 "age")。
  • 模板標籤中命名引數的值前後邊的空格會被模板移除。
    • 這並不適用於未命名的引數,它們會保留前後邊的空格。但是,瀏覽器會將多個空格字元渲染為一個空格,因此 "菲多"、"肥" 和其他未命名引數值周圍的額外空格並不明顯。如果未命名引數用於顯示之外的其他用途(例如連結),這可能會造成混淆。
  • 命名引數值在模板中使用的順序無關緊要。
  • 位置引數的編號被視為名稱:{{ peoplepets | John | ... }} 可以寫成 {{ peoplepets | 1 = John | ... }}。這在需要按不同順序輸入位置引數或位置引數值包含等號時非常有用。
  • 值可以為空。這裡第二個位置引數和 "age" 引數的值為空。
    模板標籤:{{ peoplepets | John || age = | Fido | small | kind = dog }}
    產生(注意缺少的單詞):約翰和 擁有一隻小狗,名叫菲多,它 歲。
  • 值可以保持未提供。這裡 "kind" 引數被省略了。
    模板標籤:{{ peoplepets | John | Mary | age = 6 | Fido | small }}
    產生(這會顯示缺少的引數):約翰和瑪麗 擁有一隻小 {{{kind}}},名叫菲多,它 6 歲。

引數預設值

可以使用豎線字元 (|) 為引數指定預設值。上面的示例模板可以改寫如下(其中 "friend" 是位置引數 2 的預設值,第 4 個位置引數預設為空,寵物的 "kind" 預設為 "dog"——參見 模板:Peoplepetsd)。

{{{1}}}{{{2|friend}}} 擁有一隻 {{{4|}}} {{{kind|dog}}},名叫 {{{3}}},它今年 {{{age}}} 歲。

像下面這樣的模板標籤:{{ peoplepetsd | Bill | age = 7 | 3=Queenie }} 就會產生短語 "比爾和朋友擁有一隻名叫奎妮的狗,它 7 歲"。

注意,在狗的名字前面需要加上 "3=",因為沒有指定第二個位置引數。

引數的空值將覆蓋預設值,產生一個空空格。換句話說,{{ peoplepetsd | Bill || kind=| age = 7 | 3=Queenie }} 就會產生短語 "比爾和 擁有一隻 名叫奎妮的,它 7 歲"。

虛擬引數和標籤佈局

如果模板標籤提供了模板中未使用的引數,則會忽略這些引數。這樣做是為了防止模板在更改後刪除引數時,轉入內容出現問題;沒有必要到每個轉入模板的頁面上去修改標籤。然而,這樣做還有額外的好處,可以使一些模板標籤更易讀,透過空格或添加註釋。使用 {{t3d}}。

虛擬引數
描述 輸入文字 結果
使用模板 {{t3d}} 添加註釋
{{t3d |a|b|c| row 1
      |d|e|f| row 2
      |g|h|i| row 3
}}
a b c

d e f
g h i

由於 {{t3d}} 不使用引數 {{{4}}}{{{8}}}{{{12}}},因此 "行號" 值對產生的維基文字沒有影響。虛擬命名引數可以在任何模板標籤中使用;只需選擇一個未使用的引數名稱,並將其作為 "unusedname = value" 新增到標籤中。命名虛擬引數的一種特殊情況是使用空字串作為引數名稱。

引數和引數值的限制

  • 未命名的引數不能分配包含等號 (=) 的值;解析器會將等號視為命名引數的賦值。有多種間接方法可以解決此限制。
    • 在模板中,將值寫為未定義引數的預設值。
      • {{{0}}},其中省略號可以是未使用的位置引數的編號,也可以是空字串(空引數)。
    • 在頁面中,使用以下方法之一將值分配給模板引數。
      • {{templatename| 1= a=b }},其中 "1=" 符號明確命名了第一個未命名的引數。
      • 使用特殊模板 {{=}},例如,{{template name| a{{=}}b }}。
      • 使用等號的 HTML 實體:=。這僅適用於文字表示;如果等號需要被處理為實際的等號(如在另一個模板中),這種方法將不起作用。
  • 引數值不能包含豎線字元 (|);解析器會將豎線字元視為分隔符而不是文字。豎線可以在維基連結(country=[[United States|USA]]) 或巢狀模板(例如,volume= {{convert|30|acre.ft|m3}})中使用。解決此限制的間接方法如下。
    • 使用特殊模板 {{!}},它會返回一個有效的豎線字元。如果需要將某個東西讀作實際的豎線字元(例如,如果正在使用引數修改維基文字表格的結構),請使用這種方法。
    • 使用豎線的 HTML 實體:|。這僅適用於文字表示;如果豎線需要被處理為實際的豎線,這種方法將不起作用。
  • 引數值不能包含不匹配的連續花括號 - }} 或 {{。解析器會嘗試將它們解析為模板標籤或引數的開頭或結尾,並在某處丟擲錯誤。但是,引數可以包含其他引數、魔術詞或模板標籤。
    • 同樣,可以使用 "nowiki" 標籤或 HTML 實體來解決這個問題。

巢狀模板

模板可以包含其他模板——通常稱為 "巢狀"。在處理模板時,任何巢狀模板產生的維基文字都會被轉入到巢狀模板中,因此最終產品實際上是從最深層巢狀的模板開始處理的。雖然在應用中相當簡單,但它涉及一些值得注意的怪癖和技巧。

要將引數值傳遞給巢狀模板,請將引數標籤作為巢狀模板引數之一的值放置。

  • 示例
    • 模板:A 包含 "the quick brown {{B|{{{3}}} }} jumped over..."。這會將傳遞給模板:A 的第三個位置引數的值作為模板:B 的第一個位置引數傳遞,然後將 B 產生的維基文字作為短語的一部分返回。
    • 模板:A 包含 "the quick brown {{B|waldo={{{3}}} jumped over..."。如上所述,但將模板:A 的第三個位置引數傳遞給模板:B 的命名引數 "waldo"。

模板可以呼叫自身,但會在一輪後停止,以防止無限迴圈。

Noinclude、includeonly 和 onlyinclude

有多個標籤可用於控制從模板中轉入什麼內容,以及不轉入什麼內容。這三個標籤分別是 noinclude、includeonly 和 onlyinclude。

noinclude

"noinclude" 標籤用於防止模板頁面上的文字被轉入到其他頁面。這通常用於

  • 文件
  • 應用於模板本身的分類
  • 跨維基連結 到其他維基上的相關模板。

它的使用很簡單

如果這段文字在模板頁面中,這部分會被轉入
<noinclude>但這段文字不會被轉入</noinclude>

includeonly

"includeonly" 標籤與 "noinclude" 標籤相反。includeonly 塊中的文字僅在頁面被轉入時才會被包含,它不會出現在模板頁面本身。這經常用於

  • 應用於轉入頁面的分類
  • 隱藏模板頁面本身出現的混亂文字或錯誤訊息(通常是因為需要值的引數未定義)。

它的使用很簡單

如果這段文字在模板頁面中,這部分會出現在模板頁面和轉入頁面
<includeonly>但這段文字只會出現在轉入頁面</includeonly>

onlyinclude

"onlyinclude" 標籤只包含標籤之間的內容;頁面上的其他任何內容——即使是 "includeonly" 標籤中的文字——都會出現在模板頁面上,但不會被包含。這並不經常使用,但可能在需要轉入一個大頁面中間一小段文字時有用。

它像這樣使用

如果這段文字在模板頁面中,這部分會在那裡可見,但不會被轉入
<includeonly>這段文字在模板頁面上不可見,也不會被轉入</includeonly>
<onlyinclude>這部分文字是唯一會被轉入的</onlyinclude>

變數

系統變數採用 {{...}} 格式,其中包含的文字始終全部大寫。這些變數直接從系統本身提供資訊:本地日期和時間、有關當前頁面的資訊,甚至有關維基本身的資訊。

系統變數示例
描述 輸入文字 結果(對於此幫助頁面)
頁面名稱 {{PAGENAME}}
{{FULLPAGENAME}}
模板
幫助:模板
當前名稱空間的名稱 {{NAMESPACE}} 幫助
註冊使用者數量 {{NUMBEROFUSERS}} 3,477,764
上次修訂的時間戳 {{REVISIONTIMESTAMP}} 20211117190007

PAGENAME 和 NAMESPACE 變數特別有用,而且經常使用,用於根據上下文更改模板行為。例如,如果模板包含一個 分類(例如清理模板,它將頁面分類為需要清理的頁面),它通常會檢查 NAMESPACE 變數,以確保討論頁面、使用者頁面或標籤可能意外放置的任何地方都不會被歸類為需要清理的頁面。

解析器函式和模組

解析函式是用於執行簡單分支和文字操作的工具。它們接受一個或多個引數,並根據引數返回一個維基文字值。解析函式有兩種基本形式(區別在於左括號後面是否跟著井號)

  • 核心解析函式,格式為 {{functionName: parameter | parameter | ... }}。
  • 來自軟體擴充套件的解析函式,格式為 {{#functionName: parameter | parameter | ... }}。

解析函式主要用於評估 引數變數,以便在不同的上下文中產生不同的結果。

核心解析函式通常處理文字操作和特定專案任務。

核心解析函式示例
描述 輸入文字 結果
將文字轉換為大寫 {{uc: Heavens to BETSY! }} HEAVENS TO BETSY!
將文字轉換為小寫 {{lc: Heavens to BETSY! }} heavens to betsy!
獲取名稱空間名稱 {{NS: 1 }} 討論
獲取華夏公益教科書 URL {{fullurl: pagename }} //wikibook.tw/wiki/Pagename

擴充套件功能提供了更多面向程式設計的解析函式。

擴充套件解析函式示例
描述 輸入文字 結果
在選項之間進行測試 {{#ifeq: yes | yes | Hooray...! | Darn...! }}
{{#ifeq: yes | no | Hooray...! | Darn...! }}
Hooray...!
Darn...!
測試引數是否已設定 {{#if: {{{param|}}} | Hooray...! | Darn...! }} Darn...!
進行計算 {{#expr: ( 27 * 46 / pi ) round 2 }} 395.34

其他型別的計算和字串操作函式,如查詢和替換,可以透過 模組:字串其他模組 執行。這些模組也同樣接受一個或多個引數。

使用 模組:字串 進行字串替換的示例
描述 輸入文字 結果
字串替換 {{#invoke:String|replace| 90 degrees | degrees | ° }} 90 °

其他編輯資訊

  • 如果模板的第一個包含字元是維基標記字元中的一個 :;*#,那麼它將被處理為好像它位於一行的開頭(即使模板標籤不在正確的位置)。這允許在模板中建立各種型別的列表,其中模板可能並不總是在列表的正確位置。為了避免這種效果,請使用<nowiki>#</nowiki>或一個 HTML 實體,例如&#58;對於冒號。這對於與定義 列表 結合使用也很有用。
  • 當一個名為轉錄的頁面是一個重定向頁面時,將包含重定向目標。

包含模板的頁面的修訂歷史

儲存在 頁面歷史記錄 中的頁面由維基文字組成,其中可能包含對模板和影像的引用。當檢視頁面的舊版本時,這些引用會指向模板和影像的當前版本(如果這些版本仍然存在)。因此,以前的組合頁面不會被重建。

另請參見


華夏公益教科書