Template:Str len/doc: Difference between revisions
More actions
Changed all references from {{str len full}} to {{str len}} due to move to that name. |
Making it so the {{intricate template}} doesn't show here on the /doc page and thus doesn't categorise this /doc page. |
||
| Line 1: | Line 1: | ||
{{documentation subpage}} | {{documentation subpage}} | ||
{{intricate template}} | <includeonly>{{intricate template}}</includeonly> | ||
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE --> | <!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE --> | ||
{{caution | {{caution | ||
| This template is brand new. It might need a little more testing by other users, but it has passed all my tests. <br> --[[User:Davidgothberg|David Göthberg]] ([[User talk:Davidgothberg|talk]]) 14:43, 28 March 2009 (UTC) | | This template is brand new. It might need a little more testing by other users, but it has passed all my tests. <br> --[[User:Davidgothberg|David Göthberg]] ([[User talk:Davidgothberg|talk]]) 14:43, 28 March 2009 (UTC) | ||
Revision as of 10:55, 13 April 2009
This is the {{Str len}} meta-template.
It takes a string as parameter and returns its length. It can count up to 500 in length, and returns 500 for strings that are too long.
Note! For most usage cases it is much easier and costs much less server resources to use {{Str ≥ len}} or one of its sister templates. See the see also section below.
Examples
If the parameter is empty or undefined it is considered to be of zero length:
{{str len}}returns 0{{str len|}}returns 0{{str len| }}returns 0
It counts the length correctly, even if the string contains spaces, looks like a number, or contains special characters:
{{str len| ab cde }}returns 6
{{str len| 1234567 }}returns 7
{{str len| café åäö }}returns 8
It can measure strings up to 500 in length, and returns 500 for strings that are too long:
{{str len| 499-characters... }}returns 499{{str len| 1000-characters... }}returns 1000
Technical details
MediaWiki has no parser function or magic word to measure string lengths. And measuring string length using template code is very heavy on the servers. Thus this template is as optimised as possible. But you should consider using {{Str ≥ len}} instead, since for most usage cases it is much easier to use and it costs much less server resources.
This template calls {{Str len/core}} which does most of the work. For documentation on the internal workings of these two templates see /core. The talk page might also have more details.
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