Модуль:Поиск шаблона страницы: различия между версиями
Материал из Space Station 14 Вики
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 6: | Строка 6: | ||
searchText = searchText:match("^%s*(.-)%s*$") | searchText = searchText:match("^%s*(.-)%s*$") | ||
searchText = mw.text.decode(searchText) | |||
searchText = searchText:gsub("<nowiki>(.-)</nowiki>", "%1") | searchText = searchText:gsub("<nowiki>(.-)</nowiki>", "%1") | ||
| Строка 15: | Строка 17: | ||
local title = mw.title.getCurrentTitle() | local title = mw.title.getCurrentTitle() | ||
local content = title:getContent() | local content = title:getContent() | ||
if not content then | if not content then | ||
return "Нет" | return "Нет" | ||
| Строка 23: | Строка 26: | ||
local escapedSearchText = mw.ustring.gsub(searchText, "([%(%)%.%%%+%-%*%?%[%]%^%$])", "%%%1") | local escapedSearchText = mw.ustring.gsub(searchText, "([%(%)%.%%%+%-%*%?%[%]%^%$])", "%%%1") | ||
if not mw.ustring. | if not mw.ustring.find(content, escapedSearchText, 1, true) then | ||
return "Нет" | return "Нет" | ||
end | end | ||
Версия от 14:57, 6 марта 2025
Для документации этого модуля может быть создана страница Модуль:Поиск шаблона страницы/doc
local p = {}
function p.main(frame)
local args = frame.args
local searchText = args[1] or ""
searchText = searchText:match("^%s*(.-)%s*$")
searchText = mw.text.decode(searchText)
searchText = searchText:gsub("<nowiki>(.-)</nowiki>", "%1")
if searchText == "" then
return "Нет"
end
local title = mw.title.getCurrentTitle()
local content = title:getContent()
if not content then
return "Нет"
end
content = content:gsub("{{#invoke:[^}]+}}", "")
local escapedSearchText = mw.ustring.gsub(searchText, "([%(%)%.%%%+%-%*%?%[%]%^%$])", "%%%1")
if not mw.ustring.find(content, escapedSearchText, 1, true) then
return "Нет"
end
return "Да"
end
return p