Module:Correct title categories

local p = {} function p.main(frame) return p._main(frame.args[1]) end function p._main(title) title = mw.text.unstripNoWiki(title) -- Decode HTML entities unless the title itself is demonstrating one if title:sub(1, 1) ~= "&" then title = mw.text.decode(title) end title = title:gsub("'","") -- Add a trailing "a" to distinguish empty from no fragment local titleObj = mw.title.new(title.."a") if not titleObj or title == "/." then if title:find("%[") or title:find("%]") or title:find("<") or title:find(">") or title:find("{") or title:find("}") then return "" elseif title:find("|") then return "" else return "" end elseif #titleObj.fragment > 0 then if #titleObj.text > 0 then return "" else return "" end elseif #titleObj.interwiki > 0 then return "" elseif not titleObj.isContentPage then return "" else return "" end end return p