Difference between revisions of "Module:Trim quotes"
Jump to navigation
Jump to search
blackwiki>Ahecht (Correctly move function to p._trim) |
blackwiki>Johnuniq (mw.ustring is not needed to find apostrophe/quote; this is more efficient) |
||
| Line 3: | Line 3: | ||
function p._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) | ||
| Line 14: | Line 13: | ||
return p._trim(s) | return p._trim(s) | ||
end | end | ||
| − | + | ||
return p | return p | ||
Revision as of 01:19, 21 May 2019
| 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