Bước tới nội dung

Mô đun:If in page

Bách khoa toàn thư mở Wikipedia
local p = {}local getArgs = require('Module:Arguments').getArgs--args: 1 - ustring pattern, 2 - value if present, 3 - value if absent, --      page - page to test if not this pagefunction p._main(args)	if not args["page"] then		args.page = mw.title.getCurrentTitle().fullText	end	local page = mw.title.new(args.page)	if not page then		--bad title		return args["3"] or ""	end	local content = page:getContent()	if not content then		--page does not exist		return args["3"] or ""	end	if mw.ustring.match(content, args["1"] or "") then		if args["sub"] then			--return value should have capture groups substed in			local pattern = args["1"] or ""			if mw.ustring.sub(pattern, 1, 1) ~= "^" then				--pattern does not force it to be at start of page				pattern = "^.-" .. pattern			end			if mw.ustring.sub(pattern, -1) ~= "$" then				--pattern does not force it to be at end of page				pattern = pattern .. ".*$"			end			--pattern will now match entire content, so running gsub will			--return the string that has been passed in parameter 2 with things			--like %1 substituted, NOTE: %0 does not work in this			local out = mw.ustring.gsub(content, pattern, args["2"] or "")			return out		else			return args["2"] or ""		end	else		return args["3"] or ""	endendfunction p.main(frame)	local args = getArgs(frame)	return p._main(args)endreturn p