Manual:Parser.php/ja

From MediaWiki.org
Jump to: navigation, search
MediaWiki File: Parser.php
Location: /includes/
Source code: HEAD

1.18.11.17.21.6.12

Classes: Parser

[edit] 説明

このファイルはclass Parserにあるものを含みます。class Parserfunction parseを含みます。function parse$text引数のウィキテキストを解析するためにOutputPage.phpaddPrimaryWikiText関数から呼び出されます。function parseはfunction stripを呼び出します。これはnowikipremathhieroといったものを「ストリップ」してからレンダーします。例えば、nowikiタグの間のそれぞれのテキストを一時コードで置き換えます (これは最終的には「ストリップ解除」の処理によってもとのテキストに置き換えられます)。この後でXMLスタイルのタグのエクステンションが処理されます。

stripを呼び出す前後に一つずつフックがあります。次のセクションをご覧ください。 その後で、この関数はfunction internalParse (ウィキテキストの$text文字列引数をHTMLに変換する) を呼び出します。

この関数はParserBeforeInternalParseフックで始まり次の順番で呼び出されます;

  • function replaceVariables: 再帰的に変数、テンプレートとテンプレートパラメータを拡張します; 次のものを呼び出します:
    • function replace_callback: 二重もしくは三重中括弧のペアに関してwikitextを解析する。
    • function braceSubstitution: 変数とテンプレートを拡張する。
      • パイプが存在しない場合、function variableSubstitutionが呼び出されます。
        • 中括弧の間のテキストが変数の名前である場合function getVariableValueが呼び出されます。
          • 時間に依存する変数を評価するために、PHP関数のtimedateが呼び出されます。
        • 左中括弧の後で、コアパーサ関数のタイトルとコロンがある場合、 CoreParserFunctions.phpに関連した関数が呼び出されます。
      • function createAssocArgs: "a=3"、"5"、"a=4"、と"8"といったパラメータの配列定義を連想配列に変換します。1、2がインデックスでパラメータの値は4、5、8といった配列の値とします。
    • function argSubstitution: テンプレートパラメータを拡張します。
  • function doHeadings: ヘッダーコードを置き換えます: ==a==<h2>a</h2>などになります。
  • DateFormatter.phpにあるfunction reformat: converts dates and times according to preferences
  • function doAllQuotes: replaces double and triple quotation marks by <i> and <b>.
  • function replaceInternalLinks: 内部リンクをHTMLに変換します。
  • function replaceExternalLinks: 外部リンクをHTMLに変換します。

その後、ティディ (整形) 処理があります。この前後にもフックがあります。

ファイルはSpecial:ExpandTemplatesのために使用されるfunction preprocessを含みます。Special:ExpandTemplatesstripunstripコールの間のreplaceVariables関数のコールを含みます。

ファイルが一つの関数をセットアップしてそれを定義するPHP関数の名前でパーサ関数のmagic_word_idを関連付けるときに呼び出されるfunction setFunctionHookを含みます。(パーサ関数エクステンションもご覧下さい)。この情報はarray mFunctionHooksに保存されます。array mFunctionSynonymsも作成されます。これも配列で、インデクスとして、大文字小文字を問わない論理値を取り、値として、ウィキテキスト中で使うマジックワードをインデクスとしてマジックワードのIDを値とする配列を取ります。これらの配列は解析の間に使用されます。

[edit] フック

バージョン フック 説明
1.5.0 MediaWiki hooks/ParserAfterStrip
1.5.0 MediaWiki hooks/ParserAfterTidy 完全にレンダーされたページの出力に若干の最終処理を追加するために使います
1.6.0 MediaWiki hooks/ParserBeforeInternalParse
1.5.0 MediaWiki hooks/ParserBeforeStrip 内部処理が適用される前の生のウィキテキストを処理するために使用されます
1.5.0 MediaWiki hooks/ParserBeforeTidy ページに対するほぼレンダーされたHTMLコードを処理するために使用されます(HTMLのティディ (整形) 処理が起こる前です)
1.6.0 MediaWiki hooks/ParserClearState
1.6.0 MediaWiki hooks/ParserGetVariableValueSwitch
1.6.0 MediaWiki hooks/ParserGetVariableValueTs
1.6.0 MediaWiki hooks/ParserGetVariableValueVarCache
1.6.0 MediaWiki hooks/ParserTestParser

[edit] 関連項目

言語: English  • 日本語
Personal tools
Namespaces
Variants
Actions
Site
Support
Download
Development
Communication
Print/export
Toolbox