Модуль:FtlMarking: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 79: | Строка 79: | ||
return params | return params | ||
end | end | ||
local function transform(s) | local function transform(s) | ||
s = s or "" | s = s or "" | ||
while true do | while true do | ||
local c_s, c_e, c_tag = mw.ustring.find(s, "%[/([%w_]+)%]") | local c_s, c_e, c_tag = mw.ustring.find(s, "%[/([%w_]+)%]") | ||
| Строка 119: | Строка 100: | ||
else | else | ||
local inner = mw.ustring.sub(s, last_o_e + 1, c_s - 1) | local inner = mw.ustring.sub(s, last_o_e + 1, c_s - 1) | ||
local _, _, raw_attrs = mw.ustring.find(s, "%[" .. c_tag .. "([^%]]*)%]", last_o_s) | local _, _, raw_attrs = mw.ustring.find(s, "%[" .. c_tag .. "([^%]]*)%]", last_o_s) | ||
local params = parse_attrs(raw_attrs) | local params = parse_attrs(raw_attrs) | ||
local replacement = apply_tag(c_tag, params, inner) | local replacement = apply_tag(c_tag, params, inner) | ||
| Строка 138: | Строка 116: | ||
local args = frame.args or {} | local args = frame.args or {} | ||
local text = args[1] or args.text or "" | local text = args[1] or args.text or "" | ||
text = | text = mw.text.unstripNoWiki(text) | ||
return transform(text) | return transform(text) | ||
end | end | ||
return p | return p | ||