Template:Str len/doc
This is a documentation subpage for Template:Str len. It may contain usage information, categories and other content that is not part of the original template page. |
This template is used in system messages. Changes to it can cause immediate changes to the Wikipedia user interface. To avoid large-scale disruption, any changes should first be tested in this template's /sandbox or /testcases subpage, or in your own user space. The tested changes can then be added in one single edit to this template. Please discuss any changes at the talk page before implementing them. |
This is the {{str len}} meta-template.
It takes a string as parameter and returns its length (excluding spaces at the start and end). 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
[edit source]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 500
Technical details
[edit source]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
[edit source]Template:String templates see also