Revision 126281 of "সাঁচ:Str ≤ len/doc" on aswiki{{Documentation subpage}}
{{high-risk| 350,000+ }}
<!-- PLEASE ADD CATEGORIES AND INTERWIKIS AT THE BOTTOM OF THIS PAGE -->
This is the {{tl|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:
<pre>
{{str ≤ len | abcde | 4
| Equal or shorter.
| Longer.
}}
</pre>
Which returns this:
:{{str ≤ len | abcde | 4
| Equal or shorter.
| Longer.
}}
Templates have a problem to handle parameter data that contains equal signs "<code>=</code>". But that is easily solved by using numbered parameters. Here we check if the string "ab=cde" is 100 characters or less:
<pre>
{{str ≤ len
| 1 = ab=cde
| 2 = 100
| 3 = Equal "=" or shorter.
| 4 = Longer, not "=".
}}
</pre>
Which returns this:
:{{str ≤ len
| 1 = ab=cde
| 2 = 100
| 3 = Equal "=" or shorter.
| 4 = Longer, not "=".
}}
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:
<pre>
{{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".
}}
</pre>
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 <nowiki>{{str <= len}} or (for the opposite) {{str > len}}</nowiki> 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.)
[[Help:Template|Templates]] have problems to handle parameter data that contains pipes "<code>|</code>", unless the pipe is inside another template <code><nowiki>{{name|param1}}</nowiki></code> or inside a piped link <code><nowiki>[[Help:Template|help]]</nowiki></code>. Thus templates can not handle [[Help:Table|wikitables]] as input unless you escape them by using the {{tn|!}} template. This makes it hard to use wikitables as parameters to templates. Instead the usual solution is to use "[[Help:HTML in wikitext|HTML wikimarkup]]" for the table code, which is more robust.
=== See also ===
{{string templates see also}}
<includeonly>
<!-- CATEGORIES AND INTERWIKIS HERE, THANKS -->
[[Category:String manipulation templates|{{PAGENAME}}]]
[[en:Template:Str ≦ len]]
</includeonly>All content in the above text box is licensed under the Creative Commons Attribution-ShareAlike license Version 4 and was originally sourced from https://as.wikipedia.org/w/index.php?oldid=126281.
![]() ![]() This site is not affiliated with or endorsed in any way by the Wikimedia Foundation or any of its affiliates. In fact, we fucking despise them.
|