Difference between revisions of "Template:Str len/doc"

From Ava Zinn Wiki
Jump to: navigation, search
[unchecked revision][unchecked revision]
m (moved Template:Str len full/doc to Template:Str len/doc: Moving this over {{str len}}, since that is the better name but this is the better code. Thus merging with {{str len}}. See talk page.)
(Changed all references from {{str len full}} to {{str len}} due to move to that name.)
Line 7: Line 7:
 
}}
 
}}
  
This is the {{tl|str len full}} meta-template.
+
This is the {{tl|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.
 
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.
Line 17: Line 17:
 
If the parameter is empty or undefined it is considered to be of zero length:  
 
If the parameter is empty or undefined it is considered to be of zero length:  
  
:<code><nowiki>{{str len full}}</nowiki></code> returns {{str len full}}
+
:<code><nowiki>{{str len}}</nowiki></code> returns {{str len}}
:<code><nowiki>{{str len full|}}</nowiki></code> returns {{str len full|}}
+
:<code><nowiki>{{str len|}}</nowiki></code> returns {{str len|}}
:<code><nowiki>{{str len full| }}</nowiki></code> returns {{str len full| }}
+
:<code><nowiki>{{str len| }}</nowiki></code> returns {{str len| }}
  
 
It counts the length correctly, even if the string contains spaces, looks like a number, or contains special characters:
 
It counts the length correctly, even if the string contains spaces, looks like a number, or contains special characters:
  
:<code><nowiki>{{str len full| ab cde }}</nowiki></code> returns {{str len full| ab cde }}
+
:<code><nowiki>{{str len| ab cde }}</nowiki></code> returns {{str len| ab cde }}
  
:<code><nowiki>{{str len full| 1234567 }}</nowiki></code> returns {{str len full| 1234567 }}
+
:<code><nowiki>{{str len| 1234567 }}</nowiki></code> returns {{str len| 1234567 }}
  
:<code><nowiki>{{str len full| café åäö }}</nowiki></code> returns {{str len full| café åäö }}
+
:<code><nowiki>{{str len| café åäö }}</nowiki></code> returns {{str len| café åäö }}
  
 
It can measure strings up to 500 in length, and returns 500 for strings that are too long:
 
It can measure strings up to 500 in length, and returns 500 for strings that are too long:
  
:<code><nowiki>{{str len full| 499-characters... }}</nowiki></code> returns {{str len full| abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi }}
+
:<code><nowiki>{{str len| 499-characters... }}</nowiki></code> returns {{str len| abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi }}
:<code><nowiki>{{str len full| 1000-characters... }}</nowiki></code> returns {{str len full| abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghij }}
+
:<code><nowiki>{{str len| 1000-characters... }}</nowiki></code> returns {{str len| abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghi abcdefghij }}
  
 
=== Technical details ===
 
=== Technical details ===
Line 38: Line 38:
 
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 {{tl|str ≥ len}} instead, since for most usage cases it is much easier to use and it costs much less server resources.
 
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 {{tl|str ≥ len}} instead, since for most usage cases it is much easier to use and it costs much less server resources.
  
This template calls {{tl|str len full/core}} which does most of the work. For documentation on the internal workings of these two templates see /core. The [[Template talk:Str len full|talk page]] might also have more details.
+
This template calls {{tl|str len/core}} which does most of the work. For documentation on the internal workings of these two templates see /core. The [[Template talk:Str len|talk page]] might also have more details.
  
 
=== See also ===
 
=== See also ===

Revision as of 22:33, 29 March 2009

Template:Caution

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 500

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

Template:String templates see also