fundamental changes to the parser: A few extensions attempt to fundamentally change the parsing strategy so that markup from other sorts of wikis and content management can be used (must be used?) instead of the standard wiki markup.

Parser function extensions:Parser function extensions extend parameterized template processing and typically look something like this: {{#funcname ...}}. Although any "template name" can be used, custom extensions always begin the function name with a #, as in the example above. Other parser function names are reserved for use by the MediaWiki core.

When {{#funcname ...}} is implemented as a parser function, it passes its template parameters to a PHP function instead of the usual template article. This function returns a string of wiki text that replaces the parameterized template. Parser functions are used to handle wiki text generation that involves logic that is too complex or confusing to write using normal template-writing techniques.

Instead of the usual article transclusion, {{XXX}} is associated with a PHP function that returns a string of wiki text that replaces it. They are usually used to insert system information into wiki markup (e.g., the current time, the current page).

The text between the tags gets passed on to a PHP function which parses the contents of the tag and returns an HTML string that replaces the tag and text. The content inside the tags may be wiki markup, straight text, or text with formatting rules specific to the tag. It is up to the extension implementer. Please check documentation of individual extensions.

Extended syntax extensions: Extended syntax extensions, mostly Magic Word extensions, add to the list of MediaWiki Magic Words, such as __NOTOC__. Usually, a specific PHP function interprets these words, and either replaces them with something, or sets some conditions for later processing during output generation, or both. Most usually, the replacement is the empty string; that is, the Magic Word is deleted, and nothing is shown in its place. Altered processing may involve addition of an extra piece of CSS, or suppression of user preference settings during page generation, and can be almost anything.