<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3Amunge_text</id>
	<title>Module:munge text - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://linguifex.com/w/index.php?action=history&amp;feed=atom&amp;title=Module%3Amunge_text"/>
	<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:munge_text&amp;action=history"/>
	<updated>2026-06-22T00:15:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.6</generator>
	<entry>
		<id>https://linguifex.com/w/index.php?title=Module:munge_text&amp;diff=530483&amp;oldid=prev</id>
		<title>Sware: Created page with &quot;return function(text, fn) 	local has_html = text:find(&quot;&lt;&quot;) 	local has_two_part_link = text:find(&quot;%[%[.*|&quot;) 	if not has_html and not has_two_part_link then 		return fn(text) 	end  	local function do_munge(text, pattern, functor) 		local index = 1 		local length = mw.ustring.len(text) 		local result = &quot;&quot; 		pattern = &quot;(.-)(&quot; .. pattern .. &quot;)&quot; 		while index &lt;= length do 			local first, last, before, match = mw.ustring.find(text, pattern, index) 			if not first then 				resul...&quot;</title>
		<link rel="alternate" type="text/html" href="https://linguifex.com/w/index.php?title=Module:munge_text&amp;diff=530483&amp;oldid=prev"/>
		<updated>2026-06-21T11:13:41Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;return function(text, fn) 	local has_html = text:find(&amp;quot;&amp;lt;&amp;quot;) 	local has_two_part_link = text:find(&amp;quot;%[%[.*|&amp;quot;) 	if not has_html and not has_two_part_link then 		return fn(text) 	end  	local function do_munge(text, pattern, functor) 		local index = 1 		local length = mw.ustring.len(text) 		local result = &amp;quot;&amp;quot; 		pattern = &amp;quot;(.-)(&amp;quot; .. pattern .. &amp;quot;)&amp;quot; 		while index &amp;lt;= length do 			local first, last, before, match = mw.ustring.find(text, pattern, index) 			if not first then 				resul...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;return function(text, fn)&lt;br /&gt;
	local has_html = text:find(&amp;quot;&amp;lt;&amp;quot;)&lt;br /&gt;
	local has_two_part_link = text:find(&amp;quot;%[%[.*|&amp;quot;)&lt;br /&gt;
	if not has_html and not has_two_part_link then&lt;br /&gt;
		return fn(text)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local function do_munge(text, pattern, functor)&lt;br /&gt;
		local index = 1&lt;br /&gt;
		local length = mw.ustring.len(text)&lt;br /&gt;
		local result = &amp;quot;&amp;quot;&lt;br /&gt;
		pattern = &amp;quot;(.-)(&amp;quot; .. pattern .. &amp;quot;)&amp;quot;&lt;br /&gt;
		while index &amp;lt;= length do&lt;br /&gt;
			local first, last, before, match = mw.ustring.find(text, pattern, index)&lt;br /&gt;
			if not first then&lt;br /&gt;
				result = result .. functor(mw.ustring.sub(text, index))&lt;br /&gt;
				break&lt;br /&gt;
			end&lt;br /&gt;
			result = result .. functor(before) .. match&lt;br /&gt;
			index = last + 1&lt;br /&gt;
		end&lt;br /&gt;
		return result&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local function munge_text_with_html(txt)&lt;br /&gt;
		return do_munge(txt, &amp;quot;&amp;lt;[^&amp;gt;]-&amp;gt;&amp;quot;, fn)&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if has_two_part_link then -- contains wikitext links&lt;br /&gt;
		return do_munge(text, &amp;quot;%[%[[^%[%]|]-|&amp;quot;, has_html and munge_text_with_html or fn)&lt;br /&gt;
	else -- HTML tags only&lt;br /&gt;
		return munge_text_with_html(text)&lt;br /&gt;
	end&lt;br /&gt;
end&lt;/div&gt;</summary>
		<author><name>Sware</name></author>
	</entry>
</feed>