Difference between revisions of "Module:Trim quotes"

From blackwiki
Jump to navigation Jump to search
blackwiki>Ahecht
(Undo (and oops, I thought I was working in the sandbox))
blackwiki>Ahecht
(Correctly move function to p._trim)
Line 1: Line 1:
 
local p = {}
 
local p = {}
  
function _trim(s)
+
function p._trim(s)
 
if s then
 
if s then
if mw.ustring.find(s,'^".*"$') or mw.ustring.find(s,"^'.*'$") then return _trim(string.sub(s,2,-2)) else return s end
+
if mw.ustring.find(s,'^".*"$') or mw.ustring.find(s,"^'.*'$") then return p._trim(string.sub(s,2,-2)) else return s end
 
else
 
else
 
return ""
 
return ""
Line 12: Line 12:
 
function p.trim(frame)
 
function p.trim(frame)
 
local s = (frame.args['s'] or frame.args[1]) or (frame:getParent().args['s'] or frame:getParent().args[1])
 
local s = (frame.args['s'] or frame.args[1]) or (frame:getParent().args['s'] or frame:getParent().args[1])
return _trim(s)
+
return p._trim(s)
 
end
 
end
 
 
 
return p
 
return p

Revision as of 18:28, 20 May 2019

Implements {{Trim quotes}}.

Usage

{{#invoke:Trim quotes|trim|string to trim}}

or

{{#invoke:Trim quotes|trim|s=string to trim}}



local p = {}

function p._trim(s)
	if s then
		if mw.ustring.find(s,'^".*"$') or mw.ustring.find(s,"^'.*'$") then return p._trim(string.sub(s,2,-2)) else return s end
	else
		return ""
	end
end
	

function p.trim(frame)
	local s = (frame.args['s'] or frame.args[1]) or (frame:getParent().args['s'] or frame:getParent().args[1])
	return p._trim(s)
end
	
return p