Template:Str ≤ len
This is the {{Str ≤ len}} meta-template.
It helps other templates check if a string is "shorter or equally long" vs. "longer" than a given length.
Usage
This template takes 3 to 4 unnamed parameters.
Here is how to check if the string "abcde" is 4 characters or less:
{{str ≤ len | abcde | 4 | Equal or shorter. | Longer. }}
Which returns this:
- Longer.
Templates have a problem to handle parameter data that contains equal signs "=
". But that is easily solved by using numbered parameters. Here we check if the string "ab=cde" is 100 characters or less:
{{str ≤ len | 1 = ab=cde | 2 = 100 | 3 = Equal "=" or shorter. | 4 = Longer, not "=". }}
Which returns this:
- Equal "=" or shorter.
It probably is a good habit to always use the numbered parameters, since you might not know beforehand exactly how the data will look that your template will feed to this meta-template.
Parameters
Detailed parameter explanation:
{{str ≤ len | 1 = A string, 0-500 characters long. | 2 = 0 - 500 | 3 = Data to return/render when "shorter than or equally long". | 4 = Data to return/render when "longer than". }}
Empty or undefined strings are considered to be of 0 length. Strings longer than 500 are not truncated to 500.
Length values below 0 are considered to be 0. Length values above 500 are considered to be 500.
Thus a string longer than 500 is always considered to be "longer", even if it is compared with the "correct" length value.
Technical details
The potential alternative templates names {{str <= len}} or (for the opposite) {{str > len}} do not work in MediaWiki.
Even though this is a string handling template it uses efficient code. (While some of the other string handling templates are probably so heavy on the servers that we perhaps should not use them.)
Templates have problems to handle parameter data that contains pipes "|
", unless the pipe is inside another template {{name|param1}}
or inside a piped link [[Help:Template|help]]
. Thus templates can not handle wikitables as input unless you escape them by using the See also
Trimming templates:
- {{Trunc}} – To trim down to a specified number of characters.
- {{Trim}} — To trim any leading or trailing whitespace.
- {{Str left}} – To trim down to a specified number of characters, or duplicate the string to a specified number.
- {{Str right}}
- {{Strip}} – To strip (remove) a given number of characters from the beginning/end of the string
Analyzing templates:
- {{Str endswith}} – To check if a string ends with a given string.
- {{Str find}} – Returns the numerical location of a given string in a string, up to 50 characters.
- {{Str len}} – Returns a string's length. Can count up to 500 characters.
String length comparison templates:
- {{Str ≤ len}} – To check if a string is "shorter or equally long" or "longer" than a given length.
Technical stuff:
- mw:Help:Magic words – About
{{padleft:|}}
. - mw:Help:Extension:ParserFunctions – About
{{#titleparts:|}}, {{#expr:|}}, {{#ifeq:|}},
etc. - Module:String - Script with native string parsing