Modul:Text: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
Zeile 5: | Zeile 5: | ||
local p=mw.ustring.gsub(s,'%[%[SMW::on%]%]','') | local p=mw.ustring.gsub(s,'%[%[SMW::on%]%]','') | ||
p=mw.ustring.gsub(p,'%[%[SMW::off%]%]','') | p=mw.ustring.gsub(p,'%[%[SMW::off%]%]','') | ||
p=mw.ustring.gsub(p,' ',' ') | |||
return mw.text.trim(p) | return mw.text.trim(p) | ||
end | end |
Aktuelle Version vom 21. November 2024, 10:10 Uhr
Dokumentation und Testfälle unter Modul:Text/Doku.
local p = {} -- Macht einen Trim in Kombination mit dem Entfernen der SMW-Tags, verwandelt nils in Strings function robusttrim(s) if s==nil then return '' end local p=mw.ustring.gsub(s,'%[%[SMW::on%]%]','') p=mw.ustring.gsub(p,'%[%[SMW::off%]%]','') p=mw.ustring.gsub(p,' ',' ') return mw.text.trim(p) end local StringOderDefaultTrim=function(wert,default) if(wert==nil) then return default end wert2=wert:gsub("^%s*(.-)%s*$", "%1") if(wert2=='') then return default end return robusttrim(wert2) end function trim1(s) return (s:gsub("^%s*(.-)%s*$", "%1")) end function p.Text() frame=mw.getCurrentFrame() wert=StringOderDefaultTrim(frame.args[1],'') pre=StringOderDefaultTrim(frame.args[2],'') post=StringOderDefaultTrim(frame.args[3],'') if(wert=='') then return '' end return pre..wert..post end function subZeile(titel,wert) if(wert=='') then return '' end local titel2=titel..':' if titel2==":" then titel2="" end return '<div class="zeile"><div class="zltitel">'..titel2..'</div><div class="zltext">'..wert..'</div></div>' end function p.Zeile() frame=mw.getCurrentFrame() titel=StringOderDefaultTrim(frame.args[1],'Titel') wert=StringOderDefaultTrim(frame.args[2],'') return subZeile(titel,wert) end function p.ZeileFett() frame=mw.getCurrentFrame() titel=StringOderDefaultTrim(frame.args[1],'Titel') wert=StringOderDefaultTrim(frame.args[2],'') if(wert=='') then return '' end return '<div class="zeilefett"><div class="zltitel">'..titel..':</div><div class="zltext">'..wert..'</div></div>' end function subZeilengruppe(titel,wert) if(wert=='') then return '' end return '<div class="zeilengruppe"><div class="zgtitel">'..titel..':</div><div class="zgtext">'..wert..'</div></div>' end function p.Zeilengruppe() frame=mw.getCurrentFrame() titel=StringOderDefaultTrim(frame.args[1],'Titel') wert=StringOderDefaultTrim(frame.args[2],'') return subZeilengruppe(titel,wert) end function p.KommaWenn() frame=mw.getCurrentFrame() wert1=StringOderDefaultTrim(frame.args[1],'') wert2=StringOderDefaultTrim(frame.args[2],'') if((wert1=='')and(wert2=='')) then return '' end if(wert1=='') then return wert2 end if(wert2=='') then return wert1 end return wert1..', '..wert2 end function p.KommaCollapse() frame=mw.getCurrentFrame() s=StringOderDefaultTrim(frame.args[1],'') return mw.text.trim(s:gsub(",+",',').."","\t\r\n\f\v ,") end function p.StripTags() frame=mw.getCurrentFrame() s=StringOderDefaultTrim(frame.args[1],'') s = string.gsub(s, "%b<>", " ") return s end return p