Модуль:Текст
Примеры:
Wikicode | Result |
---|---|
|
Государственные символы Российской Федерации и субъектов Российской Федерации,Столицы |
|
Государственные символы Российской Федерации,Государственные символы субъектов Российской Федерации,Столицы субъектов Российской Федерации |
|
Конституционный строй |
|
Государственная граница Российской Федерации,Границы субъектов федерации |
|
Конституционный строй |
|
Государственные символы Российской Федерации и субъектов Российской Федерации. Столицы |
|
Государственная граница Российской Федерации (см. также 2.4.1, 16.3.2, 20.4.3) |
|
Государственная граница Российской Федерации (см. также 2.4.1, 16.3.2, 20.4.3). Границы субъектов федерации |
|
Государственная граница Российской Федерации. Границы субъектов федерации |
|
3 |
|
1 |
|
1.2 |
|
|
|
3 |
|
1 |
local find, split, match, gmatch, concat = mw.ustring.find, mw.text.split, mw.ustring.match, mw.ustring.gmatch, table.concat
local pcre, gsub, pcre_gmatch = rex_pcre.new, rex_pcre.gsub, rex_pcre.gmatch
return {
['split and glue'] = function (frame)
local sentences = {}
for _, sentence in ipairs (split (frame.args[1], '%s*%.%s*')) do
sentences [#sentences + 1] = sentence
end
return concat (sentences, frame.args[2] or ',')
end,
['get links and glue'] = function (frame)
local links = {}
for link in gmatch (frame.args[1], '%[%[([^|%]]+)|?[^%]]*%]%]') do
links [#links + 1] = link
end
if #links == 0 then
local regex = pcre (frame.args.regex or '^.*$')
for link in pcre_gmatch (frame.args[1], regex) do
links[#links + 1] = link
end
end
return concat (links, frame.args[2] or ',')
end,
['link if necessary'] = function (frame)
local str = frame.args [1]
if find ( str, '[[', 1, true) then
return str
end
local regex = pcre (frame.args.regex or '^.*$')
-- gsub returns several values, so need a variable:
local replaced = gsub (str, regex, '[[%0]]')
return replaced
end,
['last breadcrumb'] = function (frame)
local crumbs = split (frame.args [1], frame.args.separator or '%.')
return crumbs [#crumbs]
end,
['parent breadcrumb'] = function (frame)
local crumbs = split (frame.args [1], frame.args.separator or '%.')
crumbs [#crumbs] = nil
return concat (crumbs, frame.args.separator or '.')
end,
['breadcrumb level'] = function (frame)
local crumbs = split (frame.args [1], frame.args.separator or '%.')
return #crumbs
end
}