Template:Encodefirst
{{{1}}}
![]() | This template is used on approximately 785,000 pages, or roughly 1% of all pages. 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)