Modul:Char: Unterschied zwischen den Versionen

Aus Stadtbahn-Wiki Bielefeld
Zur Navigation springen Zur Suche springen
StadtbahnBI>CptViraj
K (Protected "Module:Char": High-risk Lua module ([Edit=Allow only template editors and administrators] (indefinite) [Move=Allow only template editors and administrators] (indefinite)))
 
K (1 Version importiert)
 
(kein Unterschied)

Aktuelle Version vom 9. Oktober 2021, 15:25 Uhr

Die Dokumentation für dieses Modul kann unter Modul:Char/Doku erstellt werden


-- This function can substitute some critical leading characters
-- by their decimal numeric character references
-- to avoid their interpretion as wiki syntax

local ncr = {}

-- function:  removes characters at the start of the string: '#', '*', ':', ';'
function ncr.subst      ( frame )
	local gpar = frame.args
	local char = ''
	if gpar then char = mw.text.trim ( gpar[1] )-- global
		else	 char = mw.text.trim ( frame )	-- local
	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 '&#59;' .. mw.ustring.sub( char, 2, #char );
    else
         return char;
    end
end -- end function subst

-- alias long function name for abbreviation 
function ncr.substitute ( frame )
	local gpar = frame.args
	return ncr.subst ( gpar[1] );
end -- end function substitute


-- function: removes characters: '"', '&', "'", '<', '=', '>', '[', ']', '{', '|', '}'
function ncr.nowiki ( frame )
	local gpar = frame.args
	return mw.text.nowiki( gpar[1] );
end -- end function nowiki

return ncr;