Extension:StringFunctionsEscaped
<translate> This extension is currently not actively maintained!</translate> <translate> Although it may still work, any bug reports or feature requests will more than likely be ignored.</translate> <translate> If you are interested in taking on the task of developing and maintaining this extension, [[<tvar name=request>Special:MyLanguage/Gerrit/Privilege policy#Requesting Gerrit privileges</tvar>|you can request repository ownership]].</translate> <translate> As a courtesy, you may want to contact the author.</translate> <translate> You should also remove this template and list yourself as maintaining the extension in the page's <tvar name=extension>{{Extension }}</tvar> infobox.</translate> |
StringFunctionsEscaped Release status: unmaintained |
|
---|---|
Implementation | Parser function |
Description | Defines a superset of string parser functions that allow character escaping in the 'search for' and 'replace with' arguments. |
Author(s) | Jack D. Pond (jpondtalk) |
Latest version | 1.0.1 (2010-07-07) |
MediaWiki | 1.16+ |
License | GNU General Public License 2.0 only |
Download | README |
Example | examples |
$wgPFEnableStringFunctions |
|
Quarterly downloads | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Public wikis using | Lua error in Module:Extension at line 172: bad argument #1 to 'inNamespace' (unrecognized namespace name 'skin'). |
Translate the StringFunctionsEscaped extension if it is available at translatewiki.net | |
Issues | Open tasks · Report a bug |
The StringFunctionsEscaped extension defines a superset of string parser functions that allow character escaping in the 'search for' and 'replace with' arguments.
Wikitext allows the imbedding of certain control characters (newline, tab, etc.). These parser functions allows the developer to find and manipulate standard c-type escape character sequence (\n,\t, etc.) within wikitext.
These parser functions can be used to make infoblox-type templates and/or forms much more WYSIWIG (see examples) for novice/non-technical users.
Usage
All parser functions are invoked exactly as their string parser functions would be (except with the '_e' appended). They can be used exactly as their counterparts are, even if there are no embedded special characters.
pos_e: (string position)
{{#pos_e:value|key|offset}}
Returns the first position of key inside the given value, or an empty string. If offset is defined, this method will not search the first offset characters.
See: https://secure.php.net/function.strpos
rpos_e: (string position, reverse)
{{#rpos_e:value|key}}
Returns the last position of key inside the given value, or -1 if the key is not found. When using this to search for the last delimiter, add +1 to the result to retreive position after the last delimiter. This also works when the delimiter is not found, because "-1 + 1" is zero, which is the beginning of the given value.
See: https://secure.php.net/function.strrpos
pad_e: (pad string)
{{#pad_e:value|length|with|direction}}
Returns the value padded to the certain length with the given with string. If the with string is not given, spaces are used for padding. The direction may be specified as: 'left', 'center' or 'right'.
See: https://secure.php.net/function.str-pad
replace_e: (string replace)
{{#replace_e:value|from|to}}
Returns the given value with all occurrences of 'from' replaced with 'to'.
See: https://secure.php.net/function.str-replace
explode_e: (explode string)
{{#explode_e:value|delimiter|position}}
Splits the given value into pieces by the given delimiter and returns the position-th piece. Empty string is returned if there are not enough pieces.
Note: Pieces are counted from 0.
Note: A negative value can be used to count pieces from the end, instead of counting from the beginning. The last piece is at position -1.
See: https://secure.php.net/function.explode
stripnewlines: (remove multiple newlines)
{{#stripnewlines:value}}
Any time there is more than one newline in "value", they are changed to a single newline. This is useful for creating templates with complex but readable wiki text that won't impact on the layout of the calling page.
Examples
pos_e
{{#pos_e:Line 1 Line 2 Line 3|\n|7}} Returns: 13
rpos_e
{{#rpos_e:Line 1 Line 2 Line 3|\n}} Returns: 13
pad_e
~~{{#pad_e:xox|9|\n|center}}~~ Returns: ~~ xox ~~
replace_e
{{#replace_e:Line 1 Line 2 Line 3|\n|<br>\n}} Returns: Line 1<br> Line 2<br> Line 3 Which would display as: Line 1 Line 2 Line 3 Rather than the unescaped: Line 1 Line 2 Line 3
explode_e
{{#explode_e:Line 1 Line 2 Line 3|\n|1}} Returns: Line 2
stripnewlines
{{#stripnewlines:Line 1 Line 2 Line 3}} Returns: Line 1 Line 2 Line 3 Printed version: Line 1 Line 2 Line 3
Installation
- Download, extract the ParserFunctions extension and place the file(s) in a directory called
ParserFunctions
in yourextensions/
folder. - <translate> [[<tvar name=2>Special:ExtensionDistributor/StringFunctionsEscaped</tvar>|Download]] and move the extracted <tvar name=name>
StringFunctionsEscaped
</tvar> folder to your <tvar name=ext>extensions/
</tvar> directory.</translate>
<translate> Developers and code contributors should install the extension [[<tvar name=git>Special:MyLanguage/Download from Git</tvar>|from Git]] instead, using:</translate>cd extensions/
git clone https://gerrit.wikimedia.org/r/mediawiki/extensions/StringFunctionsEscaped - <translate> Add the following code at the bottom of your <tvar name=1>LocalSettings.php </tvar> file:</translate>
wfLoadExtension( 'ParserFunctions' ); $wgPFEnableStringFunctions = true; require_once "$IP/extensions/StringFunctionsEscaped/StringFunctionsEscaped.php";
- File:OOjs UI icon check-constructive.svg <translate> Done</translate> – <translate> Navigate to <tvar name=special>Special:Version</tvar> on your wiki to verify that the extension is successfully installed.</translate>
See also
- PhpTags Functions, includes more than seventy functions for working with strings using the PHP syntax.
- Pages with script errors
- Pages with broken file links
- Unmaintained extensions
- Extensions without an image
- Parser function extensions
- Extensions without a compatibility policy
- Extensions with manual MediaWiki version
- GPL licensed extensions
- Extensions in Wikimedia version control
- ParserFirstCallInit extensions
- All extensions
- Extensions not in ExtensionJson
- Extensions not using extension registration
- Languages pages