Jump to content

Module:Is infobox in lead/sandbox

From Wikipedia, the free encyclopedia
This is an old revision of this page, as edited by Trialpears (talk | contribs) at 22:32, 2 October 2019 (Also ignore embedded infoboxes). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.
local p = {}

function p.main (frame)
	return p._main (frame.args[1])
end

function p._main (searchString)
	local content = mw.title.getCurrentTitle():getContent()
	local offset = string.find(content, "==", 1 , true)
	if offset then
		local lead = string.sub(content, 1, offset-1)
		if (string.find(lead, searchString)) then
			lead = string.gsub( lead, "{{%s-[Ii]nfobox%s-mapframe", "")
			lead = string.gsub( lead, "{{%s-[Ii]nfobo[^}]-%|%s-embed%s-=%s-yes", "")
			lead = string.gsub( lead, "{{%s-[Ii]nfobo[^}]-%|%s-child%s-=%s-yes", "")
			local iter = string.gmatch(lead, "{{%s-[Ii]nfobox")
			iter()
			if not iter() then --if able to find two infoboxes in the lead, then don't return true
				local iter2 = string.gmatch(content, searchString)
				iter2()
				if not iter2() then --if able to find two of the specific infobox in the article, then don't return true
					return true
				end
			end
		end
	end
end

return p