Module:inline
local m_inline = require("Module:inline") local term, args = m_inline.parse("hello<key1:value1><key2>")
Yields:
term = "hello" args = {["key1"] = "value1", ["key2"] = true}
local export = {}
function export.parse(term)
local args = {}
for inline in mw.ustring.gmatch(term, "<([^>]+)>") do
local s = mw.text.split(inline, ":", true)
args[s[1]] = s[2] or true
if #s > 2 then mw.addWarning("multiple : found in inline string") end
end
return mw.ustring.gsub(term, "<[^>]+>", ""), args
end
return export