Модуль:FetchData: відмінності між версіями

670 байтів вилучено ,  2 грудень
нема опису редагування
Немає опису редагування
Немає опису редагування
Рядок 87: Рядок 87:
     local cells = {}
     local cells = {}
      
      
     -- Очищаємо рядок
     -- Кожна комірка починається з | (або ||) і йде до наступного \n або ||
    row = mw.text.trim(row)
     for cell in mw.ustring.gmatch(row, "|%s*([^\n|]+)") do
   
        local trimmed = mw.text.trim(cell)
    -- Видаляємо початкові символи |- та |
        if trimmed ~= "" and trimmed ~= "-" then
    row = mw.ustring.gsub(row, "^|%-\n?", "")
            table.insert(cells, trimmed)
    row = mw.ustring.gsub(row, "^%s*|%s*", "")
   
    -- Розбиваємо по роздільнику ||
     if mw.ustring.find(row, "||") then
        -- Є роздільник || - використовуємо його
        for cell in mw.text.gsplit(row, "||", true) do
            local trimmed = mw.text.trim(cell)
            if trimmed ~= "" then
                table.insert(cells, trimmed)
            end
        end
    else
        -- Немає роздільника || - значить це один рядок з \n
        for line in mw.ustring.gmatch(row, "[^\n]+") do
            local trimmed = mw.text.trim(line)
            trimmed = mw.ustring.gsub(trimmed, "^|%s*", "")
            if trimmed ~= "" then
                table.insert(cells, trimmed)
            end
         end
         end
     end
     end