Jump to content

Module:User:Mr. Stradivarius/String count

From Wikipedia, the free encyclopedia
This is the current revision of this page, as edited by Mr. Stradivarius (talk | contribs) at 03:44, 22 February 2015 (create a simple string count module). The present address (URL) is a permanent link to this version.
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
-- This module counts the number of times a string appears on a given page.

local p = {}

local function escapePattern(s)
	-- Escape punctuation in a string so it can be used in a Lua pattern.
	s = s:gsub('%p', '%%%0')
	return s
end

function p.count(frame)
	local text = mw.title.new(frame.args.page):getContent()
	local pattern = escapePattern(frame.args.search)
	local temp, count = mw.ustring.gsub(text, pattern, '')
	return count
end

return p