Модуль:Поиск шаблона страницы: различия между версиями

мНет описания правки
мНет описания правки
 
(не показано 13 промежуточных версий этого же участника)
Строка 2: Строка 2:


function p.main(frame)
function p.main(frame)
     local args = frame.args
     local modName = frame.args[1]
    local searchText = args[1] or ""
     if not modName then
 
         return "Параметр не задан"
    searchText = searchText:match("^%s*(.-)%s*$")
 
    searchText = mw.text.decode(searchText)
 
    searchText = searchText:gsub("<nowiki>(.-)</nowiki>", "%1")
 
     if searchText == "" then
         return "Нет"
     end
     end


     local title = mw.title.getCurrentTitle()
     local title = mw.title.getCurrentTitle()
    local content = title:getContent()
     if not title then
 
         return "Не удалось получить заголовок страницы"
     if not content then
         return "Нет"
     end
     end


     content = content:gsub("{{#invoke:[^}]+}}", "")
     local content = title:getContent() or ""
 
    local escapedSearchText = mw.ustring.gsub(searchText, "([%(%)%.%%%+%-%*%?%[%]%^%$])", "%%%1")


     if not mw.ustring.find(content, escapedSearchText, 1, true) then
    local pattern = "[\n]%s*{{" .. modName
     if string.match("\n" .. content, pattern) then
        return "Да"
    else
         return "Нет"
         return "Нет"
     end
     end
    return "Да"
end
end


return p
return p