Module:Char: Difference between revisions
From Neodyland Wiki
More actions
m corr |
m typo |
||
| Line 15: | Line 15: | ||
char = frame | char = frame | ||
end | end | ||
if mw.ustring.sub ( char, 1, 1 ) == '#' then | |||
return '#' .. mw. | return '#' .. mw.ustring.sub( char, 2, #char ); | ||
elseif mw. | elseif mw.ustring.sub ( char, 1, 1 ) == '*' then | ||
return '*' .. mw. | return '*' .. mw.ustring.sub( char, 2, #char ); | ||
elseif mw. | elseif mw.ustring.sub ( char, 1, 1 ) == ':' then | ||
return ':' .. mw. | return ':' .. mw.ustring.sub( char, 2, #char ); | ||
elseif mw. | elseif mw.ustring.sub ( char, 1, 1 ) == ';' then | ||
return ';' .. mw. | return ';' .. mw.ustring.sub( char, 2, #char ); | ||
else | else | ||
return char; | return char; | ||
Revision as of 10:52, 31 August 2019
This documentation is transcluded from Module:Char/doc.
-- This function can substitute some critical leading characters
-- by their decimal numeric character references
-- to avoid their interpretion as wiki syntax
local ncr = {}
-- global=args[1] / local=frame
function ncr.substitute ( frame )
local args = frame.args
local char = ''
if args then
char = args[1]
else
char = frame
end
if mw.ustring.sub ( char, 1, 1 ) == '#' then
return '#' .. mw.ustring.sub( char, 2, #char );
elseif mw.ustring.sub ( char, 1, 1 ) == '*' then
return '*' .. mw.ustring.sub( char, 2, #char );
elseif mw.ustring.sub ( char, 1, 1 ) == ':' then
return ':' .. mw.ustring.sub( char, 2, #char );
elseif mw.ustring.sub ( char, 1, 1 ) == ';' then
return ';' .. mw.ustring.sub( char, 2, #char );
else
return char;
end
end
-- alias function name (abbreviation)
function ncr.subst ( frame )
local args = frame.args
local str = args[1]
return ncr.substitute ( str )
end
return ncr;