Module:InfoboxExtractor

From JoJo's Bizarre Encyclopedia - JoJo Wiki
Revision as of 09:46, 1 May 2023 by Vish (talk | contribs) (Created page with "local p = {} function p.extract(frame) local pageTitle = frame.args[1] if not pageTitle then return "Error: Please provide a page title." end local page = mw.title.new(pageTitle) if not page or not page.exists then return "Error: Page not found." end local wikitext = page:getContent() local infobox = string.match(wikitext, "{{Infobox[^}]+}}") if not infobox then return "Error: Infobox not found." end...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Documentation for this module may be created at Module:InfoboxExtractor/doc

local p = {}

function p.extract(frame)
    local pageTitle = frame.args[1]
    if not pageTitle then
        return "Error: Please provide a page title."
    end

    local page = mw.title.new(pageTitle)
    if not page or not page.exists then
        return "Error: Page not found."
    end

    local wikitext = page:getContent()
    local infobox = string.match(wikitext, "{{Infobox[^}]+}}")

    if not infobox then
        return "Error: Infobox not found."
    end

    local label = frame.args[2]
    if not label then
        return "Error: Please provide a label."
    end

    local pattern = "|" .. label .. " *= *(.-) *[\n|}]"
    local value = string.match(infobox, pattern)

    if not value then
        return "Error: Label not found in infobox."
    end

    return value
end

return p