Modul:Text: Unterschied zwischen den Versionen

Aus GaretienWiki
Zur Navigation springen Zur Suche springen
VolkoV (D | B)
Keine Bearbeitungszusammenfassung
VolkoV (D | B)
Keine Bearbeitungszusammenfassung
 
(15 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
  local p = {}
  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)
  local StringOderDefaultTrim=function(wert,default)
   if(wert==nil) then return default end
   if(wert==nil) then return default end
   wert2=wert:gsub("^%s*(.-)%s*$", "%1")
   wert2=wert:gsub("^%s*(.-)%s*$", "%1")
   if(wert2=='') then return default end
   if(wert2=='') then return default end
   return wert2
   return robusttrim(wert2)
  end
  end


Zeile 23: Zeile 31:
  function subZeile(titel,wert)
  function subZeile(titel,wert)
   if(wert=='') then return '' end
   if(wert=='') then return '' end
   return '<div class="zeile"><div class="zltitel">'..titel..':</div><div class="zltext">'..wert..'</div></div>'   
  local titel2=titel..':'
  if titel2==":" then titel2="" end
   return '<div class="zeile"><div class="zltitel">'..titel2..'</div><div class="zltext">'..wert..'</div></div>'   
  end
  end


Zeile 66: Zeile 76:
   frame=mw.getCurrentFrame()
   frame=mw.getCurrentFrame()
   s=StringOderDefaultTrim(frame.args[1],'')
   s=StringOderDefaultTrim(frame.args[1],'')
   s2=mw.ustring.gsub(s,",+",',')
   return mw.text.trim(s:gsub(",+",',').."","\t\r\n\f\v ,")
   return mw.ustring.gsub(s2,",*%d*$",'')
end
 
function p.StripTags()
   frame=mw.getCurrentFrame()
  s=StringOderDefaultTrim(frame.args[1],'')
  s = string.gsub(s, "%b<>", " ")
  return s
end
end


return p
return p

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,'&nbsp;',' ')
	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