Модуль:ClearText

Материал из Rayten
Версия от 01:14, 10 июня 2025; Lemniscate (обсуждение | вклад) (Новая страница: «local p = {} function p.meta(frame) local text = frame.args[1] or '' -- Очистка HTML и вики-разметки text = mw.ustring.gsub(text, '<script.-</script>', '') text = mw.ustring.gsub(text, '<style.-</style>', '') text = mw.ustring.gsub(text, '<iframe.-</iframe>', '') text = mw.ustring.gsub(text, '<[^>]->', '') text = mw.ustring.gsub(text, '%[%[.-|(.-)%]%]', '%1') -- ссылки текст text = mw.u...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к: навигация, поиск

Для документации этого модуля может быть создана страница Модуль:ClearText/doc

local p = {}

function p.meta(frame)
    local text = frame.args[1] or ''

    -- Очистка HTML и вики-разметки
    text = mw.ustring.gsub(text, '<script.-</script>', '')
    text = mw.ustring.gsub(text, '<style.-</style>', '')
    text = mw.ustring.gsub(text, '<iframe.-</iframe>', '')
    text = mw.ustring.gsub(text, '<[^>]->', '')
    text = mw.ustring.gsub(text, '%[%[.-|(.-)%]%]', '%1') -- ссылки [[...|текст]]
    text = mw.ustring.gsub(text, '%[%[(.-)%]%]', '%1')    -- ссылки [[текст]]
    text = mw.ustring.gsub(text, '{{.-}}', '')            -- шаблоны
    text = mw.ustring.gsub(text, "''+", '')               -- выделения
    text = mw.text.trim(text)

    -- Ограничение длины
    if #text > 200 then
        text = mw.ustring.sub(text, 1, 197) .. "..."
    end

    return text
end

return p