MediaWiki
1.23.0
|
This class encapsulates "magic words" such as "#redirect", NOTOC, etc. More...
Public Member Functions | |
__construct ( $id=0, $syn=array(), $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 | |
$mBaseRegex = '' | |
$mCaseSensitive | |
$mFound = false | |
$mId | |
#+ More... | |
$mModified = false | |
$mRegex = '' | |
$mRegexStart = '' | |
$mRegexStartToEnd = '' | |
$mSynonyms | |
$mVariableRegex = '' | |
$mVariableStartToEndRegex = '' | |
Static Public Attributes | |
static | $mCacheTTLs |
static | $mDoubleUnderscoreArray = null |
static | $mDoubleUnderscoreIDs |
static | $mObjects = array() |
static | $mSubstIDs |
static | $mVariableIDs |
static | $mVariableIDsInitialised = false |
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 61 of file MagicWord.php.
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 | |
$value |
Definition at line 650 of file MagicWord.php.
References $value, $wgContLang, as, and global.
|
static |
Clear the self::$mObjects variable For use in parser tests.
Definition at line 300 of file MagicWord.php.
References array().
Referenced by ExtraParserTest\setUp(), 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.
$s1 | string |
$s2 | string |
Definition at line 359 of file MagicWord.php.
|
static |
Factory: creates an object representing an ID.
$id |
Definition at line 238 of file MagicWord.php.
Referenced by MagicWordArray\getBaseRegex(), MagicWordArray\getHash(), WikitextContent\getRedirectTarget(), WikitextContentHandler\makeRedirectContent(), CoreParserFunctions\matchAgainstMagicword(), replaceMultiple(), DoubleRedirectJob\run(), and JavaScriptContentTest\testMatchMagicWord().
MagicWord::getBaseRegex | ( | ) |
regex without the slashes and what not
Definition at line 428 of file MagicWord.php.
References $mBaseRegex, and initRegex().
|
static |
Allow external reads of TTL array.
$id | int |
Definition at line 275 of file MagicWord.php.
|
static |
Get a MagicWordArray of double-underscore entities.
Definition at line 288 of file MagicWord.php.
References $mDoubleUnderscoreArray, array(), and wfRunHooks().
Referenced by InfoAction\pageInfo().
MagicWord::getId | ( | ) |
MagicWord::getRegex | ( | ) |
Gets a regex representing matching the word.
Definition at line 376 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 390 of file MagicWord.php.
References initRegex().
MagicWord::getRegexStart | ( | ) |
Gets a regex matching the word, if it is at the string start.
Definition at line 403 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 416 of file MagicWord.php.
References $mRegexStartToEnd, and initRegex().
Referenced by matchStartToEnd().
|
static |
Get an array of parser substitution modifier IDs.
Definition at line 265 of file MagicWord.php.
References $mSubstIDs.
MagicWord::getSynonym | ( | $i | ) |
Accesses the synonym list directly.
$i | int |
Definition at line 596 of file MagicWord.php.
MagicWord::getSynonyms | ( | ) |
|
static |
Get an array of parser variable IDs.
Definition at line 252 of file MagicWord.php.
References $mVariableIDs, array(), and wfRunHooks().
MagicWord::getVariableRegex | ( | ) |
Matches the word, where $1 is a wildcard.
Definition at line 570 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 582 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 613 of file MagicWord.php.
References $mModified.
MagicWord::initRegex | ( | ) |
Preliminary initialisation.
Definition at line 327 of file MagicWord.php.
References $mSynonyms, array(), and as.
Referenced by getBaseRegex(), getRegex(), getRegexCase(), getRegexStart(), getRegexStartToEnd(), getVariableRegex(), and getVariableStartToEndRegex().
MagicWord::isCaseSensitive | ( | ) |
MagicWord::load | ( | $id | ) |
Initialises this object with an ID.
$id |
MWException |
Definition at line 310 of file MagicWord.php.
References $wgContLang, array(), global, wfProfileIn(), and wfProfileOut().
MagicWord::match | ( | $text | ) |
Returns true if the text contains the word.
$text | string |
Definition at line 442 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.
$text | string |
Definition at line 508 of file MagicWord.php.
References $mFound, array(), and getRegex().
MagicWord::matchStart | ( | $text | ) |
Returns true if the text starts with the word.
$text | string |
Definition at line 453 of file MagicWord.php.
References getRegexStart().
MagicWord::matchStartAndRemove | ( | & | $text | ) |
$text |
Definition at line 518 of file MagicWord.php.
References $mFound, array(), and getRegexStart().
MagicWord::matchStartToEnd | ( | $text | ) |
Returns true if the text matched the word.
$text | string |
Definition at line 465 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.
$text | string |
Definition at line 479 of file MagicWord.php.
References $matches, array(), and getVariableStartToEndRegex().
MagicWord::pregRemoveAndRecord | ( | ) |
MagicWord::replace | ( | $replacement, | |
$subject, | |||
$limit = -1 |
|||
) |
Replaces the word with something else.
$replacement | |
$subject | |
$limit | int |
Definition at line 543 of file MagicWord.php.
References $limit, $res, StringUtils\escapeRegexReplacement(), 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.
$magicarr | |
$subject | |
$result |
Definition at line 630 of file MagicWord.php.
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.
$text | string |
$callback |
Definition at line 559 of file MagicWord.php.
References $res, and getVariableRegex().
MagicWord::$mBaseRegex = '' |
Definition at line 69 of file MagicWord.php.
Referenced by getBaseRegex().
|
static |
Definition at line 157 of file MagicWord.php.
MagicWord::$mCaseSensitive |
Definition at line 65 of file MagicWord.php.
Referenced by isCaseSensitive().
|
static |
Definition at line 221 of file MagicWord.php.
Referenced by getDoubleUnderscoreArray().
|
static |
Definition at line 199 of file MagicWord.php.
MagicWord::$mFound = false |
Definition at line 73 of file MagicWord.php.
Referenced by matchAndRemove(), and matchStartAndRemove().
MagicWord::$mId |
MagicWord::$mModified = false |
Definition at line 72 of file MagicWord.php.
Referenced by getWasModified().
|
static |
Definition at line 220 of file MagicWord.php.
MagicWord::$mRegex = '' |
Definition at line 66 of file MagicWord.php.
Referenced by getRegex().
MagicWord::$mRegexStart = '' |
Definition at line 67 of file MagicWord.php.
Referenced by getRegexStart().
MagicWord::$mRegexStartToEnd = '' |
Definition at line 68 of file MagicWord.php.
Referenced by getRegexStartToEnd().
|
static |
Definition at line 215 of file MagicWord.php.
Referenced by getSubstIDs().
MagicWord::$mSynonyms |
Definition at line 65 of file MagicWord.php.
Referenced by getSynonyms(), and initRegex().
|
static |
Definition at line 76 of file MagicWord.php.
Referenced by getVariableIDs().
|
static |
Definition at line 75 of file MagicWord.php.
MagicWord::$mVariableRegex = '' |
Definition at line 70 of file MagicWord.php.
Referenced by getVariableRegex().
MagicWord::$mVariableStartToEndRegex = '' |
Definition at line 71 of file MagicWord.php.
Referenced by getVariableStartToEndRegex().