Módulo:Formatos
Ir a la navegación
Ir a la búsqueda
Uso
-- Módulo para dar formato a cadenas de texto local p = {} function p.desvincular(frame) local cadena = frame.args[1] local etiqueta = '%[.-|' local cambio = mw.ustring.gsub(cadena,etiqueta,'') cambio = mw.ustring.gsub(cambio,'[%[%]]','') return cambio end function p.mayuscula(frame) -- Convierte en mayúsculas la primera letra que aparece en la edición de una cadena local cadena local cambio = {} local modo = {} if type(frame) == 'table' then cadena = frame.args[1] else cadena = frame or 'null' end if string.find(cadena, '|') ~= nil then -- Enlaces con etiqueta modo = string.upper(string.match(cadena,'(|%a)')) cambio = string.gsub(cadena,'|%a', modo,1) elseif string.find(cadena, '[[]') ~= nil then -- Enlaces sin etiqueta modo = string.upper(string.match(cadena,'^(..%a)')) cambio = string.gsub(cadena,'^..%a', modo,1) elseif string.match(cadena,'^(%a)') then-- Sin enlace modo = mw.ustring.upper(string.match(cadena,'^(%a)')) cambio = mw.ustring.gsub(cadena,'^%a', modo,1) else cambio = cadena end return cambio end function p.url(frame) local s = frame.args[1] local cambio = {} if string.find(s, '%[') then local cambio1 = string.gsub(s,'[%[ | %]]','') cambio = string.gsub(cambio1,'http:%/%/','') elseif string.find(s, 'http:%/%/') then cambio = string.gsub(s,'http:%/%/','') else cambio = s end return cambio end function p.sinD(frame) -- Convierte en mayúsculas la primera letra que aparece en la edición de una cadena local cadena = frame.args[1] local cambio = {} if string.find(cadena, '|') ~= nil then -- Enlaces con etiqueta cambio = string.gsub(cadena,'|%a+%sde%d(%D+)', '%1') elseif string.find(cadena, '[[]') ~= nil then -- Enlaces sin etiqueta cambio = string.gsub(cadena,'(^..%a+%sde%s)(%D+)', '%1%2|%2') else -- Sin enlace cambio = string.gsub(cadena,'^%a+%sde%s%(%D+)','%1') end return cambio end function p.imagen(frame) local s = frame.args[1] local imagen = {} if s ~= nil then if string.find(s, '[Aa]rchivo') then imagen = string.gsub(s,'..[Aa]rchivo:(.*\.%a%a%a)|.*','%1') elseif string.find(s, '[Ff]ile') then imagen = string.gsub(s,'..[Ff]ile:(.*\.%a%a%a)|.*','%1') elseif string.find(s, '[Ii]magen') then imagen = string.gsub(s,'..[Ii]magen:(.*\.%a%a%a)|.*','%1') elseif string.find(s, '[Ii]mage') then imagen = string.gsub(s,'..[Ii]mage:(.*\.%a%a%a)|.*','%1') else imagen = s end else imagen = '' end return imagen end function p.formatnum(frame) local s = frame.args[1] local idioma = {} if s ~= '' or s ~= nil then if frame.args[2] then idioma = frame.args[2] else idioma = 'es' end local num = string.gsub(string.gsub(s,',',''),' ','') -- cambiamo coma por punto y quitamos espacio bruto local formatnum = {} if type(tonumber(num)) == 'number' then if string.len(num) == 4 or mw.ustring.find(num,'%.') == 5 then if idioma == 'es' then formatnum = string.gsub(num,'%.',',') else formatnum = mw.language.new(idioma):formatNum(tonumber(num)) end else formatnum = mw.language.new(idioma):formatNum(tonumber(num)) end return formatnum else return s --'<strong class="error">Número no válido</strong> [[Categoría:Wikipedia:Errores de formatnum]]' end else return '' end end return p