Difference between revisions of "Module:Trim quotes"
Jump to navigation
Jump to search
blackwiki>Ahecht (Undo (and oops, I thought I was working in the sandbox)) |
m (9 revisions imported) |
||
| (2 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
local p = {} | local p = {} | ||
| − | function _trim(s) | + | function p._trim(s) |
if s then | if s then | ||
| − | if | + | if s:match([[^(['"]).*%1$]]) then return p._trim(string.sub(s,2,-2)) else return s end |
else | else | ||
return "" | return "" | ||
end | end | ||
end | end | ||
| − | |||
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 | ||
Latest revision as of 17:41, 29 September 2020
| 40x40px | This module is rated as beta, and is ready for widespread use. It is still new and should be used with some caution to ensure the results are as expected. |
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 s:match([[^(['"]).*%1$]]) 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