Template:Encodefirst
{{{1}}}
To avoid major disruption and server load, any changes should be tested in the template's /sandbox or /testcases subpages, or in your own user subpage. The tested changes can be added to this page in a single edit. Consider discussing changes on the talk page before implementing them.
This template replaces the first character of the argument with its HTML entity if it is one of four wiki markup characters : ; * #. This can sometimes fix the issue at Help:Template#Problems and workarounds where a character may be processed as though it were at the beginning of a line.
Usage
{{Encodefirst|<string>}}
Examples
The output looks like the input whether a character is replaced or not.
{{Encodefirst|*Lisp}} produces: *Lisp
But the output will behave differently from the input in some situations where it is processed. For example, {{Article talk links }} fails as of 2025 if its argument starts with *. Some other templates like {{Article links }} have been modified (diff) to automatically use {{encodefirst }} so the caller doesn't have to do it.
{{Article talk links|*Lisp}} causes the asterisk to be processed as list markup and produces broken display (test).
{{Article talk links|{{Encodefirst|*Lisp}}}} works correctly:
Talk:*Lisp (edit | subject | history | links | watch | logs)
Editors can experiment in this template's sandbox (create | mirror) and testcases (create) pages.
Add categories to the /doc subpage. Subpages of this template.