Template:Escape
Sarna News
- HEXTECH Review - Wave 3 Brings More Urban Options To Your Battlefield
- Your BattleTech News Round-Up For March, 2024
- Crashing 'Mechs With Jennifer Brozek, Author Of The Rogue Academy Trilogy
- Getting The Word Out With Rem Alternis, Catalyst Community & Marketing Director
- Bad 'Mechs - Yeoman
- Read more →
This template uses Lua: |
Contents
- 1 Usage
- 2 Examples
- 2.1 Original:
- 2.2 Using internal method to remove {:
- 2.3 Using {{replace}} to remove {:
- 2.4 No removal of { between escape/unescape (escape char not restored):
- 2.5 Restore to original after escape
- 2.6 Remove the word test if not escaped and then place a different escape char in the place of the old escape char (for use by something else):
Usage[edit]
While primarily intended for use by other Lua modules, it can provide an alternative to multiple <nowiki>...</nowiki>
tags when part of the desired output should be executed.
For example, {{demo}} normally requires the demonstrated template to be wrapped in <nowiki>...</nowiki>
. However, you may want part of the value to be shown in the 'pre' tag to be processed before it reaches {{demo}}, such as in the example below where the result of {{#invoke:Escape/testcases|test_string2}}
is shown inside the <pre>...</pre>
tags.
Code | Result |
---|---|
{{demo
|<!--not escaped: -->{{escape | mode = kill
| char=;
| {*{#invoke:Escape ; main ; mode {{=}} kill ;
<!--unescaped:-->{{#invoke:Escape/testcases|test_string2}}<br>; { }*}
| *
| {{!}} }}
}}
|
{{#invoke:Escape | main | mode = kill | test { test {\{ test, \test, \{,test\ \ \ {\ test test { test, test, {,test |
Note how the *
character, used to break up the {{
to prevent execution, is removed and how the ;
character is replaced by |
.
Non-execution[edit]
After removal of the escape chars, the returned text is inert; i.e. not executed even without <pre>...</pre>
. (The above example is executed only because {{demo}} forces execution.)
For example, setting |mode=kill
with \{\{done\}\
} as the first parameter and nothing else will simply cause the default escape character \
to be removed:
{{done}}
Examples[edit]
Original:[edit]
test { test {\{ test, \test, \{,test\ \ \ {\
Using internal method to remove {
:[edit]
{{escape|mode=kill|test { test {\{ test, \test, \{,test\ \ \ {\|{}}test test { test, test, {,test \
Using {{replace}} to remove {
:[edit]
{{escape|mode=undo|{{replace|{{escape|mode=text|test { test {\{ test, \test, \{,test\ \ \ {\}}|{|}}}}test test { test, test, {,test \
No removal of {
between escape/unescape (escape char not restored):[edit]
{{escape|mode=undo |{{escape|mode=text|test { test {\{ test, \test, \{,test\ \ \ {\}} }}test { test {{ test, test, {,test {\
Restore to original after escape[edit]
{{escape|mode=undo |{{escape|mode=text|test { test {\{ test, \test, \{,test\ \ \ {\}} |\ }}test { test {\{ test, \test, \{,test\ \ \ {\
Remove the word test
if not escaped and then place a different escape char in the place of the old escape char (for use by something else):[edit]
Note: The '%' char is a special in Lua, so use '%%' if that is the desired replacement. Otherwise, just a single char is fine (or a word).
{{escape|mode=kill |test { test {\{ test, \test, \{,test\ \ \ {\ |test |%% }}{ {%{ , %test, %{,% % % {\