Module:User:Mr. Stradivarius/String count

-- 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