|
MediaWiki
master
|
This class encapsulates "magic words" such as "#redirect", NOTOC, etc. More...

Public Member Functions | |
| __construct ($id=0, $syn=[], $cs=false) | |
| #@- More... | |
| addToArray (&$array, $value) | |
| Adds all the synonyms of this MagicWord to an array, to allow quick lookup in a list of magic words. More... | |
| compareStringLength ($s1, $s2) | |
| A comparison function that returns -1, 0 or 1 depending on whether the first string is longer, the same length or shorter than the second string. More... | |
| getBaseRegex () | |
| regex without the slashes and what not More... | |
| getId () | |
| getRegex () | |
| Gets a regex representing matching the word. More... | |
| getRegexCase () | |
| Gets the regexp case modifier to use, i.e. More... | |
| getRegexStart () | |
| Gets a regex matching the word, if it is at the string start. More... | |
| getRegexStartToEnd () | |
| Gets a regex matching the word from start to end of a string. More... | |
| getSynonym ($i) | |
| Accesses the synonym list directly. More... | |
| getSynonyms () | |
| getVariableRegex () | |
| Matches the word, where $1 is a wildcard. More... | |
| getVariableStartToEndRegex () | |
| Matches the entire string, where $1 is a wildcard. More... | |
| getWasModified () | |
| Returns true if the last call to replace() or substituteCallback() returned a modified text, otherwise false. More... | |
| initRegex () | |
| Preliminary initialisation. More... | |
| isCaseSensitive () | |
| load ($id) | |
| Initialises this object with an ID. More... | |
| match ($text) | |
| Returns true if the text contains the word. More... | |
| matchAndRemove (&$text) | |
| Returns true if the text matches the word, and alters the input string, removing all instances of the word. More... | |
| matchStart ($text) | |
| Returns true if the text starts with the word. More... | |
| matchStartAndRemove (&$text) | |
| matchStartToEnd ($text) | |
| Returns true if the text matched the word. More... | |
| matchVariableStartToEnd ($text) | |
| Returns NULL if there's no match, the value of $1 otherwise The return code is the matched string, if there's no variable part in the regex and the matched variable part ($1) if there is one. More... | |
| pregRemoveAndRecord () | |
| Used in matchAndRemove() More... | |
| replace ($replacement, $subject, $limit=-1) | |
| Replaces the word with something else. More... | |
| replaceMultiple ($magicarr, $subject, &$result) | |
| $magicarr is an associative array of (magic word ID => replacement) This method uses the php feature to do several replacements at the same time, thereby gaining some efficiency. More... | |
| substituteCallback ($text, $callback) | |
| Variable handling: {{SUBST:xxx}} style words Calls back a function to determine what to replace xxx with Input word must contain $1. More... | |
Static Public Member Functions | |
| static | clearCache () |
| Clear the self::$mObjects variable For use in parser tests. More... | |
| static & | get ($id) |
| Factory: creates an object representing an ID. More... | |
| static | getCacheTTL ($id) |
| Allow external reads of TTL array. More... | |
| static | getDoubleUnderscoreArray () |
| Get a MagicWordArray of double-underscore entities. More... | |
| static | getSubstIDs () |
| Get an array of parser substitution modifier IDs. More... | |
| static | getVariableIDs () |
| Get an array of parser variable IDs. More... | |
Public Attributes | |
| bool | $mCaseSensitive |
| int | $mId |
| #@- More... | |
| array | $mSynonyms |
Static Public Attributes | |
| static | $mCacheTTLs |
| static | $mDoubleUnderscoreArray = null |
| static static | $mDoubleUnderscoreIDs |
| static | $mObjects = [] |
| static | $mSubstIDs |
| static | $mVariableIDs |
| static | $mVariableIDsInitialised = false |
Private Attributes | |
| string | $mBaseRegex = '' |
| bool | $mFound = false |
| bool | $mModified = false |
| string | $mRegex = '' |
| string | $mRegexStart = '' |
| string | $mRegexStartToEnd = '' |
| string | $mVariableRegex = '' |
| string | $mVariableStartToEndRegex = '' |
This class encapsulates "magic words" such as "#redirect", NOTOC, etc.
Possible future improvements:
Please avoid reading the data out of one of these objects and then writing special case code. If possible, add another match()-like function here.
To add magic words in an extension, use $magicWords in a file listed in $wgExtensionMessagesFiles[].
For magic words which are also Parser variables, add a MagicWordwgVariableIDs hook. Use string keys.
Definition at line 59 of file MagicWord.php.
| MagicWord::__construct | ( | $id = 0, |
|
$syn = [], |
|||
$cs = false |
|||
| ) |
| MagicWord::addToArray | ( | & | $array, |
| $value | |||
| ) |
Adds all the synonyms of this MagicWord to an array, to allow quick lookup in a list of magic words.
| array | $array | |
| string | $value |
Definition at line 682 of file MagicWord.php.
References $value, $wgContLang, as, and global.
|
static |
Clear the self::$mObjects variable For use in parser tests.
Definition at line 319 of file MagicWord.php.
Referenced by ExtraParserTest\setUp(), NewParserTest\setupGlobals(), ParserTest\setupGlobals(), and WikitextContentHandlerTest\testMakeRedirectContent().
| MagicWord::compareStringLength | ( | $s1, | |
| $s2 | |||
| ) |
A comparison function that returns -1, 0 or 1 depending on whether the first string is longer, the same length or shorter than the second string.
| string | $s1 | |
| string | $s2 |
Definition at line 375 of file MagicWord.php.
|
static |
Factory: creates an object representing an ID.
| int | $id |
Definition at line 257 of file MagicWord.php.
Referenced by Parser\braceSubstitution(), Parser\cleanSig(), Parser\doDoubleUnderscore(), MagicWordArray\getBaseRegex(), MagicWordArray\getHash(), WikitextContent\getRedirectTargetAndText(), WikitextContentHandler\makeRedirectContent(), CoreParserFunctions\matchAgainstMagicword(), replaceMultiple(), DoubleRedirectJob\run(), Parser\setFunctionHook(), and JavaScriptContentTest\testMatchMagicWord().
| MagicWord::getBaseRegex | ( | ) |
regex without the slashes and what not
Definition at line 444 of file MagicWord.php.
References $mBaseRegex, and initRegex().
|
static |
Allow external reads of TTL array.
| int | $id |
Definition at line 294 of file MagicWord.php.
Referenced by Parser\braceSubstitution().
|
static |
Get a MagicWordArray of double-underscore entities.
Definition at line 307 of file MagicWord.php.
References Hooks\run().
Referenced by Parser\doDoubleUnderscore(), and InfoAction\pageInfo().
| MagicWord::getId | ( | ) |
| MagicWord::getRegex | ( | ) |
Gets a regex representing matching the word.
Definition at line 392 of file MagicWord.php.
References $mRegex, and initRegex().
Referenced by match(), matchAndRemove(), and replace().
| MagicWord::getRegexCase | ( | ) |
Gets the regexp case modifier to use, i.e.
i or nothing, to be used if one is using MagicWord::getBaseRegex(), otherwise it'll be included in the complete expression
Definition at line 406 of file MagicWord.php.
References initRegex().
| MagicWord::getRegexStart | ( | ) |
Gets a regex matching the word, if it is at the string start.
Definition at line 419 of file MagicWord.php.
References $mRegexStart, and initRegex().
Referenced by matchStart(), and matchStartAndRemove().
| MagicWord::getRegexStartToEnd | ( | ) |
Gets a regex matching the word from start to end of a string.
Definition at line 432 of file MagicWord.php.
References $mRegexStartToEnd, and initRegex().
Referenced by matchStartToEnd().
|
static |
Get an array of parser substitution modifier IDs.
Definition at line 284 of file MagicWord.php.
Referenced by Parser\initialiseVariables().
| MagicWord::getSynonym | ( | $i | ) |
Accesses the synonym list directly.
| int | $i |
Definition at line 627 of file MagicWord.php.
| MagicWord::getSynonyms | ( | ) |
|
static |
Get an array of parser variable IDs.
Definition at line 271 of file MagicWord.php.
References Hooks\run().
Referenced by ApiQuerySiteinfo\appendVariables(), and Parser\initialiseVariables().
| MagicWord::getVariableRegex | ( | ) |
Matches the word, where $1 is a wildcard.
Definition at line 601 of file MagicWord.php.
References $mVariableRegex, and initRegex().
Referenced by substituteCallback().
| MagicWord::getVariableStartToEndRegex | ( | ) |
Matches the entire string, where $1 is a wildcard.
Definition at line 613 of file MagicWord.php.
References $mVariableStartToEndRegex, and initRegex().
Referenced by matchVariableStartToEnd().
| MagicWord::getWasModified | ( | ) |
Returns true if the last call to replace() or substituteCallback() returned a modified text, otherwise false.
Definition at line 644 of file MagicWord.php.
References $mModified.
| MagicWord::initRegex | ( | ) |
Preliminary initialisation.
Definition at line 343 of file MagicWord.php.
References $mSynonyms, and as.
Referenced by getBaseRegex(), getRegex(), getRegexCase(), getRegexStart(), getRegexStartToEnd(), getVariableRegex(), and getVariableStartToEndRegex().
| MagicWord::isCaseSensitive | ( | ) |
| MagicWord::load | ( | $id | ) |
Initialises this object with an ID.
| int | $id |
| MWException |
Definition at line 329 of file MagicWord.php.
References $wgContLang, and global.
| MagicWord::match | ( | $text | ) |
Returns true if the text contains the word.
| string | $text |
Definition at line 458 of file MagicWord.php.
References getRegex().
Referenced by WikitextContent\matchMagicWord().
| MagicWord::matchAndRemove | ( | & | $text | ) |
Returns true if the text matches the word, and alters the input string, removing all instances of the word.
| string | $text |
Definition at line 524 of file MagicWord.php.
References $mFound, and getRegex().
| MagicWord::matchStart | ( | $text | ) |
Returns true if the text starts with the word.
| string | $text |
Definition at line 469 of file MagicWord.php.
References getRegexStart().
| MagicWord::matchStartAndRemove | ( | & | $text | ) |
| string | $text |
Definition at line 539 of file MagicWord.php.
References $mFound, and getRegexStart().
| MagicWord::matchStartToEnd | ( | $text | ) |
Returns true if the text matched the word.
| string | $text |
Definition at line 481 of file MagicWord.php.
References getRegexStartToEnd().
| MagicWord::matchVariableStartToEnd | ( | $text | ) |
Returns NULL if there's no match, the value of $1 otherwise The return code is the matched string, if there's no variable part in the regex and the matched variable part ($1) if there is one.
| string | $text |
Definition at line 495 of file MagicWord.php.
References $matches, and getVariableStartToEndRegex().
| MagicWord::pregRemoveAndRecord | ( | ) |
| MagicWord::replace | ( | $replacement, | |
| $subject, | |||
$limit = -1 |
|||
| ) |
Replaces the word with something else.
| string | $replacement | |
| string | $subject | |
| int | $limit |
Definition at line 569 of file MagicWord.php.
References $limit, $res, and getRegex().
| MagicWord::replaceMultiple | ( | $magicarr, | |
| $subject, | |||
| & | $result | ||
| ) |
$magicarr is an associative array of (magic word ID => replacement) This method uses the php feature to do several replacements at the same time, thereby gaining some efficiency.
The result is placed in the out variable $result. The return value is true if something was replaced.
| array | $magicarr | |
| string | $subject | |
| string | $result |
Definition at line 661 of file MagicWord.php.
References as, get(), and wfDeprecated().
| MagicWord::substituteCallback | ( | $text, | |
| $callback | |||
| ) |
Variable handling: {{SUBST:xxx}} style words Calls back a function to determine what to replace xxx with Input word must contain $1.
| string | $text | |
| callable | $callback |
Definition at line 590 of file MagicWord.php.
References $res, and getVariableRegex().
|
private |
Definition at line 81 of file MagicWord.php.
Referenced by getBaseRegex().
|
static |
Definition at line 177 of file MagicWord.php.
| bool MagicWord::$mCaseSensitive |
Definition at line 69 of file MagicWord.php.
Referenced by isCaseSensitive().
|
static |
Definition at line 240 of file MagicWord.php.
|
static |
Definition at line 218 of file MagicWord.php.
|
private |
Definition at line 93 of file MagicWord.php.
Referenced by matchAndRemove(), and matchStartAndRemove().
| int MagicWord::$mId |
|
private |
Definition at line 90 of file MagicWord.php.
Referenced by getWasModified().
|
static |
Definition at line 239 of file MagicWord.php.
|
private |
Definition at line 72 of file MagicWord.php.
Referenced by getRegex().
|
private |
Definition at line 75 of file MagicWord.php.
Referenced by getRegexStart().
|
private |
Definition at line 78 of file MagicWord.php.
Referenced by getRegexStartToEnd().
|
static |
Definition at line 234 of file MagicWord.php.
| array MagicWord::$mSynonyms |
Definition at line 66 of file MagicWord.php.
Referenced by getSynonyms(), and initRegex().
|
static |
Definition at line 96 of file MagicWord.php.
|
static |
Definition at line 95 of file MagicWord.php.
|
private |
Definition at line 84 of file MagicWord.php.
Referenced by getVariableRegex().
|
private |
Definition at line 87 of file MagicWord.php.
Referenced by getVariableStartToEndRegex().