<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>http://jtdf.net/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3ADelcat</id>
	<title>模块:Delcat - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="http://jtdf.net/index.php?action=history&amp;feed=atom&amp;title=%E6%A8%A1%E5%9D%97%3ADelcat"/>
	<link rel="alternate" type="text/html" href="http://jtdf.net/index.php?title=%E6%A8%A1%E5%9D%97:Delcat&amp;action=history"/>
	<updated>2026-04-15T04:03:49Z</updated>
	<subtitle>本wiki的该页面的版本历史</subtitle>
	<generator>MediaWiki 1.33.1</generator>
	<entry>
		<id>http://jtdf.net/index.php?title=%E6%A8%A1%E5%9D%97:Delcat&amp;diff=10872&amp;oldid=prev</id>
		<title>Xiayu：导入1个版本</title>
		<link rel="alternate" type="text/html" href="http://jtdf.net/index.php?title=%E6%A8%A1%E5%9D%97:Delcat&amp;diff=10872&amp;oldid=prev"/>
		<updated>2020-07-08T03:47:01Z</updated>

		<summary type="html">&lt;p&gt;导入1个版本&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2020年7月8日 (三) 03:47的版本&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key ypk-wiki_:diff::1.12:old-10859:rev-10872 --&gt;
&lt;/table&gt;</summary>
		<author><name>Xiayu</name></author>
		
	</entry>
	<entry>
		<id>http://jtdf.net/index.php?title=%E6%A8%A1%E5%9D%97:Delcat&amp;diff=10859&amp;oldid=prev</id>
		<title>Xiayu：创建页面，内容为“local p={ 	replace_data = {  		&quot;%[%[[Cc][Aa][Tt].-%]%]&quot;, 		&quot;%[%[分類.-%]%]&quot;, 		&quot;%[%[分类.-%]%]&quot;, 		&quot;%[%[[Cc]ategory.-%]%]&quot;, 		&quot;%[%[CATEGORY.-%]%]&quot;, 		--&quot;其他…”</title>
		<link rel="alternate" type="text/html" href="http://jtdf.net/index.php?title=%E6%A8%A1%E5%9D%97:Delcat&amp;diff=10859&amp;oldid=prev"/>
		<updated>2020-07-08T03:44:07Z</updated>

		<summary type="html">&lt;p&gt;创建页面，内容为“local p={ 	replace_data = {  		&amp;quot;%[%[[Cc][Aa][Tt].-%]%]&amp;quot;, 		&amp;quot;%[%[分類.-%]%]&amp;quot;, 		&amp;quot;%[%[分类.-%]%]&amp;quot;, 		&amp;quot;%[%[[Cc]ategory.-%]%]&amp;quot;, 		&amp;quot;%[%[CATEGORY.-%]%]&amp;quot;, 		--&amp;quot;其他…”&lt;/p&gt;
&lt;table class=&quot;diff diff-contentalign-left&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;zh-Hans-CN&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;←上一版本&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #222; text-align: center;&quot;&gt;2020年7月8日 (三) 03:44的版本&lt;/td&gt;
				&lt;/tr&gt;
&lt;!-- diff cache key ypk-wiki_:diff::1.12:old-10871:rev-10859 --&gt;
&lt;/table&gt;</summary>
		<author><name>Xiayu</name></author>
		
	</entry>
	<entry>
		<id>http://jtdf.net/index.php?title=%E6%A8%A1%E5%9D%97:Delcat&amp;diff=10871&amp;oldid=prev</id>
		<title>wiki_&gt;Xiplus-abot：已保护“Module:Delcat”：高風險模板：1271引用&lt;!-- 機器人3 --&gt;（[编辑=仅允许自动确认用户]（无限期）[移动=仅允许自动确认用户]（无限期））</title>
		<link rel="alternate" type="text/html" href="http://jtdf.net/index.php?title=%E6%A8%A1%E5%9D%97:Delcat&amp;diff=10871&amp;oldid=prev"/>
		<updated>2020-06-23T00:19:42Z</updated>

		<summary type="html">&lt;p&gt;已保护“&lt;a href=&quot;/w/%E6%A8%A1%E5%9D%97:Delcat&quot; title=&quot;模块:Delcat&quot;&gt;Module:Delcat&lt;/a&gt;”：高風險模板：1271引用&amp;lt;!-- &lt;a href=&quot;/index.php?title=%E7%94%A8%E6%88%B7:Xiplus-abot/task/3&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;用户:Xiplus-abot/task/3（页面不存在）&quot;&gt;機器人3&lt;/a&gt; --&amp;gt;（[编辑=仅允许自动确认用户]（无限期）[移动=仅允许自动确认用户]（无限期））&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;local p={&lt;br /&gt;
	replace_data = { &lt;br /&gt;
		&amp;quot;%[%[[Cc][Aa][Tt].-%]%]&amp;quot;,&lt;br /&gt;
		&amp;quot;%[%[分類.-%]%]&amp;quot;,&lt;br /&gt;
		&amp;quot;%[%[分类.-%]%]&amp;quot;,&lt;br /&gt;
		&amp;quot;%[%[[Cc]ategory.-%]%]&amp;quot;,&lt;br /&gt;
		&amp;quot;%[%[CATEGORY.-%]%]&amp;quot;,&lt;br /&gt;
		--&amp;quot;其他例外&amp;quot;, --直接新增即可&lt;br /&gt;
	},&lt;br /&gt;
	nullstr = ''&lt;br /&gt;
}&lt;br /&gt;
local strings = require( 'Module:String' )&lt;br /&gt;
local TlParLib = {}&lt;br /&gt;
local lib_arg = {}&lt;br /&gt;
--主函數&lt;br /&gt;
function p.main(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
	end&lt;br /&gt;
	get_args = getArgs(frame, {parentFirst=true})&lt;br /&gt;
	&lt;br /&gt;
	--__DISAMBIG__&lt;br /&gt;
	other_replace = {}&lt;br /&gt;
	to_replace = ''&lt;br /&gt;
	rep_type = &amp;quot;category&amp;quot;&lt;br /&gt;
	for arg_name, arg_value in pairs( get_args ) do&lt;br /&gt;
		if arg_name == 1 or arg_name == '1' then&lt;br /&gt;
			--要處理的字串&lt;br /&gt;
			to_replace = arg_value&lt;br /&gt;
		elseif arg_name == &amp;quot;type&amp;quot; then&lt;br /&gt;
			rep_type = mw.ustring.lower(arg_value)&lt;br /&gt;
		else&lt;br /&gt;
			other_replace[arg_name] = arg_value&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if rep_type == &amp;quot;category&amp;quot; then&lt;br /&gt;
		return p.delete_category(to_replace, other_replace)&lt;br /&gt;
	elseif rep_type == &amp;quot;link&amp;quot; then&lt;br /&gt;
		return p.dellink(get_args)&lt;br /&gt;
	elseif rep_type == &amp;quot;list_category&amp;quot; or rep_type == &amp;quot;listcategory&amp;quot; or rep_type == &amp;quot;list category&amp;quot; then&lt;br /&gt;
		return p.list_category(get_args)&lt;br /&gt;
	else&lt;br /&gt;
		return to_replace&lt;br /&gt;
	end&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.list_category(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
	end&lt;br /&gt;
	get_args = getArgs(frame, {parentFirst=true})&lt;br /&gt;
	category_list = p.find_category((get_args[1] or get_args['1']) or '')&lt;br /&gt;
	format = mw.ustring.gsub((get_args[2] or get_args['2']) or &amp;quot;*{{{1}}}\n&amp;quot;, &amp;quot;%{%{%{.-%}%}%}&amp;quot;, &amp;quot;%%s&amp;quot; );&lt;br /&gt;
	it = mw.ustring.find(format, &amp;quot;%%s&amp;quot;, 1)&lt;br /&gt;
	if it == nil then format = format .. &amp;quot;%s&amp;quot; end&lt;br /&gt;
	format = mw.ustring.gsub(format, &amp;quot;\\n&amp;quot;, &amp;quot;\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	body = ''&lt;br /&gt;
	for i, category in pairs( category_list ) do&lt;br /&gt;
		body = body .. mw.ustring.gsub(format, &amp;quot;%%s&amp;quot;, category)&lt;br /&gt;
	end&lt;br /&gt;
	return body&lt;br /&gt;
end&lt;br /&gt;
function p.deltitle(input)&lt;br /&gt;
	str = mw.text.trim(mw.ustring.gsub(input,&amp;quot;\127\'\&amp;quot;`UNIQ%-%-.-QINU`\&amp;quot;\'\127&amp;quot;, p.nullstr))&lt;br /&gt;
&lt;br /&gt;
	begin_, end_ = mw.ustring.find(str, &amp;quot;=+&amp;quot;, 1)&lt;br /&gt;
	if begin_==nil then return input end&lt;br /&gt;
	begin_2 = mw.ustring.find(str, &amp;quot;=+ *\n&amp;quot;, end_ + 1)&lt;br /&gt;
	count = end_ - begin_ + 1&lt;br /&gt;
&lt;br /&gt;
	title_name = mw.text.trim(mw.ustring.sub(str, end_ + 1, begin_2-1 ))&lt;br /&gt;
	result = &amp;quot;\n;&amp;lt;span id=\&amp;quot;&amp;quot; .. title_name .. &amp;quot;\&amp;quot; style=\&amp;quot;font-size:&amp;quot; .. (({24,20,18,16,14})[count] or 14) .. &amp;quot;px;\&amp;quot;&amp;gt;&amp;quot; .. title_name .. &amp;quot;&amp;lt;/span&amp;gt;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
	if count &amp;lt; 1 then return str &lt;br /&gt;
	elseif count &amp;lt; 3 then result = result .. &amp;quot;\n----&amp;quot; end&lt;br /&gt;
	return result .. '\n'&lt;br /&gt;
end&lt;br /&gt;
function p.bytelen(frame)&lt;br /&gt;
	local args&lt;br /&gt;
	if frame == mw.getCurrentFrame() then&lt;br /&gt;
		-- We're being called via #invoke. The args are passed through to the module&lt;br /&gt;
		-- from the template page, so use the args that were passed into the template.&lt;br /&gt;
		args = frame.args&lt;br /&gt;
	else&lt;br /&gt;
		-- We're being called from another module or from the debug console, so assume&lt;br /&gt;
		-- the args are passed in directly.&lt;br /&gt;
		args = frame&lt;br /&gt;
		if type(args) ~= type({}) then args = {frame} end&lt;br /&gt;
	end&lt;br /&gt;
	return string.len(args[1] or args['1'])&lt;br /&gt;
end&lt;br /&gt;
function p.getcjk(frame)&lt;br /&gt;
	local args&lt;br /&gt;
	if frame == mw.getCurrentFrame() then&lt;br /&gt;
		-- We're being called via #invoke. The args are passed through to the module&lt;br /&gt;
		-- from the template page, so use the args that were passed into the template.&lt;br /&gt;
		args = frame.args&lt;br /&gt;
	else&lt;br /&gt;
		-- We're being called from another module or from the debug console, so assume&lt;br /&gt;
		-- the args are passed in directly.&lt;br /&gt;
		args = frame&lt;br /&gt;
		if type(args) ~= type({}) then args = {frame} end&lt;br /&gt;
	end&lt;br /&gt;
	local str = args[1] or args['1']&lt;br /&gt;
	str = mw.ustring.gsub(str, &amp;quot;&amp;lt;%s*div.-&amp;lt;%s*%/div%s*&amp;gt;&amp;quot;,'')&lt;br /&gt;
	mw.ustring.gsub(mw.ustring.gsub(args[1] or args['1'],&lt;br /&gt;
		&amp;quot;[%c%l%u%d%p%s%z&amp;quot; ..&lt;br /&gt;
			&amp;quot;%&amp;gt;%&amp;lt;%=%{%}%|%[%]%`%+%-%*%/%\\&amp;quot;&lt;br /&gt;
		.. &amp;quot;↑↓←→№©⧸⁄&amp;quot;&lt;br /&gt;
		.. &amp;quot;%−%~%~%!%@%#%$%^%&amp;amp;%_×÷ºª±∓&amp;quot;&lt;br /&gt;
		.. &amp;quot;]&amp;quot;&lt;br /&gt;
	,'.'),&amp;quot;%.+&amp;quot;,args['gap'] or '')&lt;br /&gt;
	return str&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.dellink(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
	end&lt;br /&gt;
	get_args = getArgs(frame, {parentFirst=true})&lt;br /&gt;
	input = (get_args[1] or get_args['1']) or ''&lt;br /&gt;
	input = mw.ustring.gsub(input,&amp;quot;\127\'\&amp;quot;`UNIQ%-%-ref.-QINU`\&amp;quot;\'\127&amp;quot;, p.nullstr)&lt;br /&gt;
	body = p.delete_category(input, {})&lt;br /&gt;
	get_link = mw.ustring.gmatch( body, &amp;quot;%[%[.-%]%]&amp;quot; )&lt;br /&gt;
	i = 1 j = 1 while mw.ustring.find(body, &amp;quot;\n=+ *[^\n]* *=+ *\n&amp;quot;) and j do&lt;br /&gt;
		if i&amp;gt;=10 then j = nil end&lt;br /&gt;
		body = mw.ustring.gsub(body, &amp;quot;\n=+ *[^\n]* *=+ *\n&amp;quot;, p.deltitle)&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	catbody = mw.ustring.gsub(input,'&amp;lt;',&amp;quot;&amp;amp;lt;&amp;quot;)&lt;br /&gt;
	catbody = mw.ustring.gsub(catbody,'&amp;gt;',&amp;quot;&amp;amp;gt;&amp;quot;)&lt;br /&gt;
	category_list = p.find_category(catbody)&lt;br /&gt;
	&lt;br /&gt;
	link_str = get_link()&lt;br /&gt;
	while link_str do&lt;br /&gt;
		link_url = mw.ustring.sub(link_str, 3, -3)&lt;br /&gt;
		--^$()%.[]*+-?&lt;br /&gt;
		link_matcher = mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(link_url, &lt;br /&gt;
			&amp;quot;%%&amp;quot;, &amp;quot;%%%%&amp;quot;), &amp;quot;%)&amp;quot;, &amp;quot;%)&amp;quot;), &amp;quot;%-&amp;quot;, &amp;quot;%-&amp;quot;), &amp;quot;%^&amp;quot;, &amp;quot;%^&amp;quot;), &amp;quot;%$&amp;quot;, &amp;quot;%$&amp;quot;), &amp;quot;%(&amp;quot;, &amp;quot;%(&amp;quot;), &amp;quot;%.&amp;quot;, &amp;quot;%.&amp;quot;), &amp;quot;%*&amp;quot;, &amp;quot;%*&amp;quot;), &amp;quot;%+&amp;quot;, &amp;quot;%+&amp;quot;), &amp;quot;%|&amp;quot;, &amp;quot;%|&amp;quot;)&lt;br /&gt;
		link_matcher = mw.ustring.gsub(mw.ustring.gsub(link_matcher, &amp;quot;%[&amp;quot;, &amp;quot;%[&amp;quot;) , &amp;quot;%]&amp;quot;, &amp;quot;%]&amp;quot;) &lt;br /&gt;
		link_matcher = mw.ustring.gsub(mw.ustring.gsub(link_matcher, &amp;quot;%{&amp;quot;, &amp;quot;%{&amp;quot;) , &amp;quot;%}&amp;quot;, &amp;quot;%}&amp;quot;)&lt;br /&gt;
		first_split = mw.ustring.find(link_url, &amp;quot;%|&amp;quot;, 1) or 0&lt;br /&gt;
		get_link_inner = mw.ustring.gsub(mw.ustring.sub(link_url, 1, first_split - 1), &amp;quot;%%&amp;quot;, &amp;quot;%%%%&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
		body = mw.ustring.gsub( body, &amp;quot;%[%[&amp;quot; .. link_matcher .. &amp;quot;%]%]&amp;quot;, get_link_inner );&lt;br /&gt;
		link_str = get_link()&lt;br /&gt;
	end&lt;br /&gt;
	body = mw.text.trim(body) .. '\n'&lt;br /&gt;
	&lt;br /&gt;
	body = mw.ustring.gsub( body, &amp;quot;[Ii][Ss][Bb][Nn]&amp;quot;, &amp;quot;&amp;amp;#73;&amp;amp;#83;&amp;amp;#66;&amp;amp;#78;&amp;quot; );&lt;br /&gt;
	body = mw.ustring.gsub( body, &amp;quot;__[A-Z]+__&amp;quot;, p.nullstr );&lt;br /&gt;
	for i, category in pairs( category_list ) do&lt;br /&gt;
		body = body .. category .. &amp;quot; &amp;quot;&lt;br /&gt;
	end&lt;br /&gt;
	return body&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.delete_category(source_str, other)&lt;br /&gt;
	local body = source_str&lt;br /&gt;
	for i, categorys in pairs( p.replace_data ) do&lt;br /&gt;
		body = mw.ustring.gsub( body, categorys, p.nullstr );	   &lt;br /&gt;
	end&lt;br /&gt;
	for i, categorys in pairs( other ) do&lt;br /&gt;
		body = mw.ustring.gsub( body, categorys, p.nullstr );	   &lt;br /&gt;
	end&lt;br /&gt;
	--Category:使用ISBN魔術連結的頁面&lt;br /&gt;
	body = mw.ustring.gsub( body, &amp;quot;[Ii][Ss][Bb][Nn]&amp;quot;, &amp;quot;&amp;amp;#73;&amp;amp;#83;&amp;amp;#66;&amp;amp;#78;&amp;quot; );&lt;br /&gt;
	body = mw.text.trim(body) --消除多餘空行&lt;br /&gt;
	return body&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.find_category(source_str)&lt;br /&gt;
	local body = ''&lt;br /&gt;
	input = mw.ustring.gsub(source_str,'&amp;lt;',&amp;quot;&amp;amp;lt;&amp;quot;)&lt;br /&gt;
	input = mw.ustring.gsub(input,'&amp;gt;',&amp;quot;&amp;amp;gt;&amp;quot;)&lt;br /&gt;
	cat_counting = {}&lt;br /&gt;
	for i, category_matcher in pairs( p.replace_data ) do&lt;br /&gt;
		get_cat = mw.ustring.gmatch( input, category_matcher )&lt;br /&gt;
		cat_str = get_cat()&lt;br /&gt;
		while cat_str do&lt;br /&gt;
			cat_name_it = mw.ustring.find(cat_str, ':', 1, false)&lt;br /&gt;
			first_split = mw.ustring.find(cat_str, &amp;quot;%|&amp;quot;, 1) or -2&lt;br /&gt;
			&lt;br /&gt;
			category = mw.ustring.sub(cat_str, cat_name_it + 1, first_split - 1)&lt;br /&gt;
			cat_counting[category] = category&lt;br /&gt;
			cat_str = get_cat()&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	if mw.ustring.find(body, &amp;quot;[Ii][Ss][Bb][Nn]&amp;quot;) then category_list[&amp;quot;使用ISBN魔術連結的頁面&amp;quot;] = &amp;quot;使用ISBN魔術連結的頁面&amp;quot; end&lt;br /&gt;
	cat_list = {}&lt;br /&gt;
	i=1&lt;br /&gt;
	for _, category_name in pairs( cat_counting ) do&lt;br /&gt;
		cat_list[i] = &amp;quot;Category:&amp;quot; .. category_name&lt;br /&gt;
&lt;br /&gt;
		i = i + 1&lt;br /&gt;
	end	&lt;br /&gt;
	return cat_list&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.test(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
	end&lt;br /&gt;
	get_args = getArgs(frame, {parentFirst=true})&lt;br /&gt;
	&lt;br /&gt;
	text = mw.ustring.gsub( ((get_args[1] or get_args['1']) or ''), '\n', &amp;quot;\n &amp;quot;)&lt;br /&gt;
	&lt;br /&gt;
	input = mw.ustring.gsub(text,'&amp;lt;',&amp;quot;&amp;amp;lt;&amp;quot;)&lt;br /&gt;
	input = mw.ustring.gsub(input,'&amp;gt;',&amp;quot;&amp;amp;gt;&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	--return mw.ustring.gsub( input .. &amp;quot;\n*匹配數:&amp;quot;, &amp;quot;\127\'\&amp;quot;`UNIQ%-%-ref.-QINU`\&amp;quot;\'\127&amp;quot;, p.nullstr );&lt;br /&gt;
	input = mw.ustring.gsub( input, &amp;quot;\127\'\&amp;quot;`&amp;quot;, p.nullstr );&lt;br /&gt;
	return mw.ustring.gsub( input, &amp;quot;`\&amp;quot;\'\127&amp;quot;, p.nullstr );&lt;br /&gt;
end&lt;br /&gt;
function p.get_title(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
	end&lt;br /&gt;
	get_args = getArgs(frame, {parentFirst=true})&lt;br /&gt;
	for arg_name, arg_value in pairs( get_args ) do&lt;br /&gt;
		if arg_name == 1 or arg_name == '1' then&lt;br /&gt;
			--要處理的字串&lt;br /&gt;
			input = arg_value&lt;br /&gt;
		elseif arg_name == &amp;quot;title&amp;quot; or  arg_name == &amp;quot;2&amp;quot; or arg_name == 2 then&lt;br /&gt;
			title = arg_value&lt;br /&gt;
		elseif arg_name == &amp;quot;keep&amp;quot; or arg_name == &amp;quot;keep_title&amp;quot; or arg_name == &amp;quot;keep title&amp;quot; or&lt;br /&gt;
			arg_name == &amp;quot;3&amp;quot; or arg_name == 3 then&lt;br /&gt;
				keep_title = mw.ustring.lower(arg_value)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	return p.find_title(input or '', title or '', keep_title)&lt;br /&gt;
end&lt;br /&gt;
function p.get_chapter(frame)&lt;br /&gt;
	if not getArgs then&lt;br /&gt;
		getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
	end&lt;br /&gt;
	get_args = getArgs(frame, {parentFirst=true})&lt;br /&gt;
	input = (get_args[1] or get_args['1']) or ''&lt;br /&gt;
&lt;br /&gt;
	chapter_begin, chapter_end = mw.ustring.find(input, '#', 1)&lt;br /&gt;
	if chapter_begin ~= nil then&lt;br /&gt;
		return mw.ustring.sub(input, chapter_begin + 1)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return ''&lt;br /&gt;
end&lt;br /&gt;
function p.delnowiki(frame)&lt;br /&gt;
	-- For calling from #invoke.&lt;br /&gt;
	local get_args&lt;br /&gt;
	if frame == mw.getCurrentFrame() then&lt;br /&gt;
		-- We're being called via #invoke. The args are passed through to the module&lt;br /&gt;
		-- from the template page, so use the args that were passed into the template.&lt;br /&gt;
		if not getArgs then&lt;br /&gt;
			getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
		end&lt;br /&gt;
		get_args = getArgs(frame, {parentFirst=true})&lt;br /&gt;
	else&lt;br /&gt;
		-- We're being called from another module or from the debug console, so assume&lt;br /&gt;
		-- the args are passed in directly.&lt;br /&gt;
		get_args = frame&lt;br /&gt;
		if type(get_args) ~= type({}) then get_args = {frame} end&lt;br /&gt;
	end&lt;br /&gt;
	local lib_unstrip,input_str=nil,get_args[1] or get_args['1'] or ''&lt;br /&gt;
	if (input_str ~= nil) then lib_unstrip=require('module:Unstrip') end&lt;br /&gt;
	return mw.text.unstripNoWiki(input_str)&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.include(frame)&lt;br /&gt;
	local args, working_frame&lt;br /&gt;
	if frame == mw.getCurrentFrame() then&lt;br /&gt;
		-- We're being called via #invoke. The args are passed through to the module&lt;br /&gt;
		-- from the template page, so use the args that were passed into the template.&lt;br /&gt;
		if lib_arg.getArgs == nil then lib_arg = require('Module:Arguments') end&lt;br /&gt;
		args = lib_arg.getArgs(frame, {parentFirst=true})&lt;br /&gt;
		working_frame = frame&lt;br /&gt;
	else&lt;br /&gt;
		-- We're being called from another module or from the debug console, so assume&lt;br /&gt;
		-- the args are passed in directly.&lt;br /&gt;
		args = frame&lt;br /&gt;
		working_frame = mw.getCurrentFrame()&lt;br /&gt;
		if type(args) ~= type({}) then args = {frame} end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local keep_title&lt;br /&gt;
	local pagename&lt;br /&gt;
	local full_include = false&lt;br /&gt;
	local new_args = { args[&amp;quot;\\1&amp;quot;] or '' }&lt;br /&gt;
	for arg_name, arg_value in pairs( args ) do&lt;br /&gt;
		if arg_name == 1 or arg_name == '1' then&lt;br /&gt;
			pagename = arg_value&lt;br /&gt;
		elseif arg_name == &amp;quot;keep&amp;quot; or arg_name == &amp;quot;keep_title&amp;quot; or arg_name == &amp;quot;keep title&amp;quot; then&lt;br /&gt;
			keep_title = mw.ustring.lower(arg_value)&lt;br /&gt;
		elseif arg_name == &amp;quot;full_include&amp;quot; or arg_name == &amp;quot;full include&amp;quot; or arg_name == &amp;quot;full&amp;quot; then&lt;br /&gt;
			if yesno == nil then yesno = require('Module:Yesno') end&lt;br /&gt;
			full_include = yesno(mw.ustring.lower(arg_value) or 'no')&lt;br /&gt;
		elseif arg_name == &amp;quot;\\1&amp;quot; then new_args[&amp;quot;1&amp;quot;] = arg_value&lt;br /&gt;
		else new_args[arg_name] = arg_value end&lt;br /&gt;
	end&lt;br /&gt;
	local hide_first_title = false&lt;br /&gt;
	local show_t = true&lt;br /&gt;
	if keep_title ~= nil then&lt;br /&gt;
		if yesno == nil then yesno = require('Module:Yesno') end&lt;br /&gt;
		if keep_title == &amp;quot;hide&amp;quot; then show_t, hide_first_title = false, true&lt;br /&gt;
		else show_t = yesno(keep_title or &amp;quot;yes&amp;quot;) end&lt;br /&gt;
	else&lt;br /&gt;
		show_t = true&lt;br /&gt;
	end&lt;br /&gt;
	if mw.text.trim(pagename or '') == '' then return '' end&lt;br /&gt;
&lt;br /&gt;
	local chaptername = ''&lt;br /&gt;
	local input_fullpagename = tostring(pagename)&lt;br /&gt;
	local InIsSubst, InIsSSubst, InIsMsgnw&lt;br /&gt;
	pagename, InIsSubst = mw.ustring.gsub(pagename, &amp;quot;^subst:&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	pagename, InIsMsgnw = mw.ustring.gsub(pagename, &amp;quot;^msgnw:&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	pagename, InIsSSubst = mw.ustring.gsub(pagename, &amp;quot;^safesubst:&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	pagename = mw.ustring.gsub(pagename, &amp;quot;^raw:&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	pagename = mw.ustring.gsub(pagename, &amp;quot;^int:&amp;quot;,&amp;quot;MediaWiki:&amp;quot;)&lt;br /&gt;
	InIsSubst = InIsSubst &amp;gt; 0 or InIsMsgnw &amp;gt; 0&lt;br /&gt;
	InIsMsgnw = InIsMsgnw &amp;gt; 0&lt;br /&gt;
	local mark_pos,_  = mw.ustring.find(pagename, '%#') --分析章節語法(#)&lt;br /&gt;
	if mark_pos then &lt;br /&gt;
		chaptername = mw.ustring.sub(pagename,mark_pos+1,#pagename) &lt;br /&gt;
		pagename = mw.ustring.sub(pagename,1,mark_pos-1) &lt;br /&gt;
	end&lt;br /&gt;
	local chapterfullname = tostring(chaptername)&lt;br /&gt;
	local chapterid = 1&lt;br /&gt;
	mark_pos = mw.ustring.find(chapterfullname, &amp;quot;%_%d+$&amp;quot;) --分析章節語法(_)&lt;br /&gt;
	if mark_pos then &lt;br /&gt;
		chaptername = mw.ustring.sub(chapterfullname,1,mark_pos-1) &lt;br /&gt;
		chapterid = tonumber(mw.ustring.sub(chapterfullname,mark_pos+1,#chapterfullname)) or 1&lt;br /&gt;
	end&lt;br /&gt;
	local chapterothername = tostring(chaptername)&lt;br /&gt;
	local body = ''&lt;br /&gt;
	&lt;br /&gt;
	if mw.text.trim(pagename) == '' then return '' end&lt;br /&gt;
	&lt;br /&gt;
	--取得引用頁名稱&lt;br /&gt;
	local check_includetitle, is_namespace0 = mw.text.trim(pagename), 0&lt;br /&gt;
	check_includetitle, is_namespace0 = mw.ustring.gsub(check_includetitle, &amp;quot;^%s-:&amp;quot;,&amp;quot;&amp;quot;)&lt;br /&gt;
	local check_includetitle_obj = (mw.title.new( check_includetitle ) or {})&lt;br /&gt;
	local check_includetitle_namespace = check_includetitle_obj.namespace or 10&lt;br /&gt;
	local check_isExternal = check_includetitle_obj.isExternal&lt;br /&gt;
	if check_isExternal == nil then check_isExternal = false end&lt;br /&gt;
	if check_includetitle_namespace == 0 and is_namespace0 &amp;gt; 0 and not check_isExternal then --有冒號表示指名名字空間(預設是 Template )&lt;br /&gt;
		check_includetitle = mw.title.new( check_includetitle )&lt;br /&gt;
	elseif check_includetitle_namespace == 0 and not check_isExternal then --沒有冒號表示預設是 Template&lt;br /&gt;
		check_includetitle = mw.title.new( &amp;quot;Template:&amp;quot; .. check_includetitle )&lt;br /&gt;
	else --其餘情況就用解析到的名字空間&lt;br /&gt;
		check_includetitle = mw.title.new( check_includetitle )&lt;br /&gt;
	end&lt;br /&gt;
	if check_includetitle == nil then check_includetitle = check_includetitle or { &lt;br /&gt;
		fullText = mw.text.trim(pagename) , text = mw.text.trim(pagename), isErrorTitle=true&lt;br /&gt;
	} end&lt;br /&gt;
	--建立解析器，解析模板語法&lt;br /&gt;
	local include_frame = mw.getCurrentFrame()&lt;br /&gt;
	local include_parent_frame = include_frame:getParent()&lt;br /&gt;
	if include_parent_frame and not mw.isSubsting() then include_frame = include_parent_frame end&lt;br /&gt;
	--定位為由呼叫者直接執行&lt;br /&gt;
	if not mw.isSubsting() then&lt;br /&gt;
		working_frame = include_frame:newChild{ title = include_frame:getTitle(), args = new_args }&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	local input_str = working_frame:preprocess( &amp;quot;{{msgnw:&amp;quot; .. pagename .. &amp;quot;}}&amp;quot; ) --析出頁面原碼&lt;br /&gt;
	local redirectTarget = check_includetitle.redirectTarget&lt;br /&gt;
	if redirectTarget ~= false and redirectTarget ~= nil then check_includetitle = redirectTarget end&lt;br /&gt;
	local subst_error = false&lt;br /&gt;
	if mw.isSubsting() then &lt;br /&gt;
		--這部份似乎無解，subst:和msgnw:無法同時疊加&lt;br /&gt;
		xpcall( function() &lt;br /&gt;
				input_str = working_frame:expandTemplate{ title = &amp;quot;:&amp;quot; .. check_includetitle.fullText, args = new_args }&lt;br /&gt;
				--針對章節標提移除擴展標籤，使subst後系統自動生成新的&lt;br /&gt;
				input_str = mw.text.trim(mw.ustring.gsub(input_str,&amp;quot;\127\'\&amp;quot;`UNIQ%-%-h%-.-QINU`\&amp;quot;\'\127&amp;quot;, p.nullstr))&lt;br /&gt;
			end,  function(message) &lt;br /&gt;
				input_str = ''&lt;br /&gt;
				subst_error = true&lt;br /&gt;
			end )&lt;br /&gt;
	else&lt;br /&gt;
		input_str =  mw.text.decode(input_str) --解析網頁符號 (&amp;amp;#XXX;)&lt;br /&gt;
	end&lt;br /&gt;
	if (#input_str &amp;lt;= (12 + #check_includetitle.fullText) ) or subst_error==true then&lt;br /&gt;
		if TlParLib._getEscapeString == nil then TlParLib = require('Module:TemplateParameters') end&lt;br /&gt;
		local new_str, replaced = mw.ustring.gsub(mw.ustring.lower(input_str),&lt;br /&gt;
				&amp;quot;[%[%{][%[%{][^%]%}]-:(&amp;quot; ..&lt;br /&gt;
				TlParLib._getEscapeString(mw.ustring.lower(check_includetitle.fullText)) ..&lt;br /&gt;
				&amp;quot;)[%]%}][%]%}]&amp;quot;&lt;br /&gt;
				,&amp;quot;[[:%1&amp;quot;&lt;br /&gt;
			)&lt;br /&gt;
		if replaced &amp;gt; 0 or subst_error==true then &lt;br /&gt;
			if subst_error==true then new_str = &amp;quot;[[:&amp;quot; .. check_includetitle.fullText end&lt;br /&gt;
			if check_includetitle.isErrorTitle then return check_includetitle.fullText end&lt;br /&gt;
			input_str = new_str .. '#' .. chapterfullname .. '|'&lt;br /&gt;
			if mw.text.trim(check_includetitle.nsText or '') ~= '' then input_str = input_str .. check_includetitle.nsText .. ':' end&lt;br /&gt;
			input_str = input_str .. check_includetitle.text&lt;br /&gt;
			if mw.text.trim(chapterfullname) ~= '' then input_str = input_str .. '#' .. chaptername end&lt;br /&gt;
			input_str = input_str .. &amp;quot;]]&amp;quot;&lt;br /&gt;
			return input_str&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	--去除擴展標籤之前，由於章節(== XX ==)也是一種列入strip的擴展標籤，因此要先儲存起來，避免資料遺失&lt;br /&gt;
	local htagstrip_table = {}&lt;br /&gt;
	if not mw.isSubsting() then --subst需保留擴展標籤 (subst後會自動還原)&lt;br /&gt;
		local htagstrip_matcher = &amp;quot;\127\'\&amp;quot;`UNIQ%-%-h%-.-QINU`\&amp;quot;\'\127%s-[^\n]-%s-=+%s-\n&amp;quot;&lt;br /&gt;
		local htagstrip_start, htagstrip_end = mw.ustring.find(input_str, htagstrip_matcher, 1)&lt;br /&gt;
		&lt;br /&gt;
		while htagstrip_start do&lt;br /&gt;
			local temp_htagstrip = mw.ustring.sub(input_str, htagstrip_start, htagstrip_end)&lt;br /&gt;
			local htagstrip_str = mw.ustring.match(temp_htagstrip, &amp;quot;\127\'\&amp;quot;`UNIQ%-%-h%-.-QINU`\&amp;quot;\'\127&amp;quot;)&lt;br /&gt;
			local htag_tail = mw.ustring.gsub(temp_htagstrip, &amp;quot;\127\'\&amp;quot;`UNIQ%-%-h%-.-QINU`\&amp;quot;\'\127&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
			local begin_, end_ = mw.ustring.find(htag_tail, &amp;quot;=+&amp;quot;, 1)&lt;br /&gt;
			local htag_name = mw.text.trim(mw.ustring.gsub(htag_tail, '=', ''))&lt;br /&gt;
			htagstrip_table[#htagstrip_table+1] = {&lt;br /&gt;
				name=mw.text.trim(htag_name),&lt;br /&gt;
				level=end_ - begin_ + 1,&lt;br /&gt;
				htagstrip=htagstrip_str&lt;br /&gt;
			}&lt;br /&gt;
			htagstrip_start, htagstrip_end = mw.ustring.find(input_str, htagstrip_matcher, htagstrip_end+1)&lt;br /&gt;
		end&lt;br /&gt;
		input_str =  mw.text.killMarkers( input_str ) --去除擴展標籤&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	input_str = '\n\n' .. input_str .. '\n\n' --使規表達式不會在首行和末行出現邊界情況&lt;br /&gt;
	if TlParLib._getEscapeString == nil then TlParLib = require('Module:TemplateParameters') end&lt;br /&gt;
	local chapterfullname_regex_pattern = TlParLib._getEscapeString(chapterfullname)&lt;br /&gt;
	local chaptername_regex_pattern = TlParLib._getEscapeString(chaptername)&lt;br /&gt;
&lt;br /&gt;
	local is_htag = false&lt;br /&gt;
	local function htag_regex(chname) &lt;br /&gt;
		--用於處理subst不同的載入方式&lt;br /&gt;
		if mw.isSubsting() then return &amp;quot;\n=+ -&amp;quot; .. chname .. &amp;quot; -=+ -\n&amp;quot; end&lt;br /&gt;
		return &amp;quot;\n=+%s-&amp;quot; .. chname .. &amp;quot;%s-=+%s-\n&amp;quot; &lt;br /&gt;
	end&lt;br /&gt;
	local function spantag_regex(chname) return &amp;quot;%&amp;lt;%s-span[^%&amp;gt;]+id=[%\&amp;quot;%\']&amp;quot; .. chname .. &amp;quot;[%\&amp;quot;%\']&amp;quot; end&lt;br /&gt;
	local function anchortag_regex(chname) return &amp;quot;%{%{[Aa][Nn][Cc][Hh][Oo][Rr][^%}]-%|%s-&amp;quot; .. chname .. &amp;quot;%s-[%|%}]&amp;quot; end&lt;br /&gt;
	local function find_chtag(chname, alltext)&lt;br /&gt;
		is_htag = true&lt;br /&gt;
		local finded_title_begin, finded_title_end = mw.ustring.find(input_str, htag_regex(chname), 1)&lt;br /&gt;
		if finded_title_begin then return finded_title_begin, finded_title_end end&lt;br /&gt;
		is_htag = false&lt;br /&gt;
		finded_title_begin, finded_title_end = mw.ustring.find(input_str, spantag_regex(chname), 1)&lt;br /&gt;
		if finded_title_begin then return finded_title_begin, finded_title_end end&lt;br /&gt;
		finded_title_begin, finded_title_end = mw.ustring.find(input_str, anchortag_regex(chname), 1)&lt;br /&gt;
		if finded_title_begin then return finded_title_begin, finded_title_end end&lt;br /&gt;
	end&lt;br /&gt;
	local next_title_matcher = htag_regex(&amp;quot;[^\n]-&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	if mw.text.trim(chapterfullname) ~= '' then&lt;br /&gt;
		local finded_title_begin, finded_title_end = find_chtag(chapterfullname_regex_pattern, input_str)&lt;br /&gt;
		local next_title_begin, next_title_end = #input_str, nil; next_title_end = next_title_begin&lt;br /&gt;
		if finded_title_begin then --匹配全名&lt;br /&gt;
		else --從非全名尋找&lt;br /&gt;
			finded_title_begin, finded_title_end =find_chtag(chaptername_regex_pattern, input_str)&lt;br /&gt;
		end&lt;br /&gt;
		if chapterid &amp;gt; 1 then&lt;br /&gt;
			local cutted_title_matcher = htag_regex(chaptername_regex_pattern)&lt;br /&gt;
			for index = 2, chapterid do&lt;br /&gt;
				if finded_title_end ~= nil then&lt;br /&gt;
					finded_title_begin, finded_title_end = mw.ustring.find(input_str, cutted_title_matcher, finded_title_end + 1)&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		local finded_title_string = mw.ustring.sub(input_str, finded_title_begin, finded_title_end)&lt;br /&gt;
&lt;br /&gt;
		if chapterfullname == &amp;quot;__FIRST_SECTION__&amp;quot; then finded_title_begin = -1;is_htag=true end&lt;br /&gt;
		local htag_level = nil&lt;br /&gt;
		if finded_title_begin then --找到了&lt;br /&gt;
			if chapterfullname == &amp;quot;__FIRST_SECTION__&amp;quot; then&lt;br /&gt;
				finded_title_string = ''&lt;br /&gt;
				htag_level = 9007199254740991 --lua max int&lt;br /&gt;
				finded_title_end = 1&lt;br /&gt;
			else&lt;br /&gt;
				if is_htag == false then --分析章節標題&lt;br /&gt;
					local re_find = mw.ustring.sub(input_str, 1, finded_title_begin)&lt;br /&gt;
					re_find = re_find:reverse()&lt;br /&gt;
					local temp_title_begin, temp_title_end&lt;br /&gt;
					if(mw.ustring.isutf8(re_find) == true )then&lt;br /&gt;
						temp_title_begin, temp_title_end = mw.ustring.find(re_find, htag_regex(&amp;quot;[^\n]-&amp;quot;), 1)&lt;br /&gt;
						if temp_title_begin then finded_title_string = mw.ustring.sub(re_find, temp_title_begin, temp_title_end) end&lt;br /&gt;
					else&lt;br /&gt;
						temp_title_begin, temp_title_end = re_find:find(htag_regex(&amp;quot;[^\n]-&amp;quot;), 1)&lt;br /&gt;
						if temp_title_begin then finded_title_string = re_find:sub(temp_title_begin, temp_title_end) end&lt;br /&gt;
					end&lt;br /&gt;
					finded_title_string = finded_title_string:reverse()&lt;br /&gt;
					if(mw.ustring.isutf8(finded_title_string) == true )then&lt;br /&gt;
						chapterothername = mw.ustring.gsub(finded_title_string,&amp;quot;=&amp;quot;,'')&lt;br /&gt;
					else&lt;br /&gt;
						chapterothername = finded_title_string:gsub(&amp;quot;=&amp;quot;,'')&lt;br /&gt;
					end&lt;br /&gt;
				end&lt;br /&gt;
				--獲得章節標題的級數&lt;br /&gt;
				if htag_level==nil then&lt;br /&gt;
					local begin_, end_ = mw.ustring.find(finded_title_string, &amp;quot;=+&amp;quot;, 1)&lt;br /&gt;
					htag_level = end_ - begin_ + 1&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
		&lt;br /&gt;
			local next_title_find_begin, next_title_find_end = mw.ustring.find(input_str, next_title_matcher, finded_title_end + 1)&lt;br /&gt;
			local flag = true while next_title_find_begin and flag do&lt;br /&gt;
				local next_title_find = mw.ustring.sub(input_str, next_title_find_begin, next_title_find_end)&lt;br /&gt;
				local find_begin_, find_end_ = mw.ustring.find(next_title_find, &amp;quot;=+&amp;quot;, 1)&lt;br /&gt;
				local find_count = find_end_ - find_begin_ + 1&lt;br /&gt;
				if find_count &amp;lt;= htag_level then &lt;br /&gt;
					next_title_begin = next_title_find_begin&lt;br /&gt;
					next_title_end = next_title_find_end&lt;br /&gt;
					flag = nil&lt;br /&gt;
				end&lt;br /&gt;
				next_title_find_begin, next_title_find_end = mw.ustring.find(input_str, next_title_matcher, next_title_find_end + 1)&lt;br /&gt;
			end&lt;br /&gt;
			if next_title_begin == nil then next_title_begin = 0 end&lt;br /&gt;
			&lt;br /&gt;
			local ch_start = finded_title_end + 1&lt;br /&gt;
			if is_htag == false then ch_start = finded_title_begin end&lt;br /&gt;
			body = mw.ustring.sub(input_str, ch_start, next_title_begin - 1)&lt;br /&gt;
&lt;br /&gt;
			if show_t == false then --不顯示章節標頭者，移除章節標頭&lt;br /&gt;
				local i = 1 j = 1 while mw.ustring.find(body, &amp;quot;\n=+ *[^\n]* *=+ *\n&amp;quot;) and j do if i&amp;gt;=10 then j = nil end&lt;br /&gt;
					body = mw.ustring.gsub(body, &amp;quot;\n=+ *[^\n]* *=+ *\n&amp;quot;, p.deltitle)&lt;br /&gt;
					i = i + 1&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
			if hide_first_title==false then&lt;br /&gt;
				if show_t then body = finded_title_string .. body &lt;br /&gt;
				else body = p.deltitle(finded_title_string) .. body end&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	else&lt;br /&gt;
		body = input_str&lt;br /&gt;
	end	&lt;br /&gt;
	if full_include==true then --設定為 &amp;quot;全面引用&amp;quot; 將noinclude等標記移除&lt;br /&gt;
		--匹配noinclude等標記的正規表達式 (適用於lua的版本)&lt;br /&gt;
		local include_pattern = &amp;quot;[Ii][Nn][Cc][Ll][Uu][Dd][Ee]&amp;quot;&lt;br /&gt;
		local only_pattern = &amp;quot;[Oo][Nn][Ll][Yy]&amp;quot;&lt;br /&gt;
		local no_pattern = &amp;quot;[Nn][Oo]&amp;quot;&lt;br /&gt;
		local taghead_pattern = &amp;quot;%&amp;lt;[%s/]-&amp;quot;&lt;br /&gt;
		local tagtail_pattern = &amp;quot;[^%&amp;gt;]-%&amp;gt;&amp;quot;&lt;br /&gt;
		local tagdel_pattern = &amp;quot;&amp;lt;!----&amp;gt;&amp;quot;&lt;br /&gt;
		body = mw.ustring.gsub(body, taghead_pattern .. no_pattern .. include_pattern .. tagtail_pattern, tagdel_pattern)&lt;br /&gt;
		body = mw.ustring.gsub(body, taghead_pattern .. only_pattern .. include_pattern .. tagtail_pattern, tagdel_pattern)&lt;br /&gt;
		body = mw.ustring.gsub(body, taghead_pattern .. include_pattern .. only_pattern .. tagtail_pattern, tagdel_pattern)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	local min_title = 0&lt;br /&gt;
	if show_t == true and not mw.isSubsting() then --顯示章節標頭者，須使章節標頭正常運作&lt;br /&gt;
		--將擴展標籤 (== XX ==) 擺回去&lt;br /&gt;
		body = '\n\n' .. body .. '\n\n' --使規表達式不會在首行和末行出現邊界情況&lt;br /&gt;
		local back_title_start, back_title_end = mw.ustring.find(body, next_title_matcher, 1)&lt;br /&gt;
		local title_first_match = true&lt;br /&gt;
		while back_title_start do --逐一搜索標題&lt;br /&gt;
			local check_title=mw.ustring.sub(body, back_title_start, back_title_end)&lt;br /&gt;
			check_title=mw.text.trim(mw.ustring.gsub(check_title, '=', ''))&lt;br /&gt;
			check_title=mw.text.trim(check_title) --確定標題名稱&lt;br /&gt;
			local check_title_matcher=TlParLib._getEscapeString(check_title)&lt;br /&gt;
			local htagstrip_table_item={} --獲得原始標題的擴展標籤strip標記符號&lt;br /&gt;
			for ik, iv in ipairs(htagstrip_table) do&lt;br /&gt;
				if iv.name == check_title or iv.name == chapterothername then&lt;br /&gt;
					htagstrip_table_item = iv&lt;br /&gt;
					if title_first_match == true then&lt;br /&gt;
						min_title = ik&lt;br /&gt;
						title_first_match = false&lt;br /&gt;
					end&lt;br /&gt;
					break&lt;br /&gt;
				end&lt;br /&gt;
			end&lt;br /&gt;
&lt;br /&gt;
			--將擴展標籤strip標記符號放回內文&lt;br /&gt;
			if htagstrip_table_item.htagstrip then&lt;br /&gt;
				body = mw.ustring.gsub(body, &amp;quot;(=+)(%s-&amp;quot; .. check_title_matcher .. &amp;quot;%s-=+)&amp;quot;, &amp;quot;%1&amp;quot; .. htagstrip_table_item.htagstrip .. &amp;quot;%2&amp;quot;)&lt;br /&gt;
			end&lt;br /&gt;
			back_title_start, back_title_end = mw.ustring.find(body, next_title_matcher, back_title_end+1)&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	body = mw.text.trim(body)&lt;br /&gt;
	--subst無須復位&lt;br /&gt;
	if mw.isSubsting() then return body end&lt;br /&gt;
	&lt;br /&gt;
	if min_title &amp;gt; 1 then body = &amp;quot;\127\'\&amp;quot;`UNIQ____TITLE__TAG__PATTERN____QINU`\&amp;quot;\'\127\n&amp;quot; .. body&lt;br /&gt;
		for _=2,min_title do body = &amp;quot;== ==\n&amp;quot; .. body end &lt;br /&gt;
	end&lt;br /&gt;
	working_frame = include_frame:newChild{ title = check_includetitle.fullText, args = new_args }&lt;br /&gt;
	body = working_frame:preprocess( body )&lt;br /&gt;
	if min_title &amp;gt; 1 then local start;_,start = mw.ustring.find(body,&amp;quot;\127\'\&amp;quot;`UNIQ____TITLE__TAG__PATTERN____QINU`\&amp;quot;\'\127\n&amp;quot;)&lt;br /&gt;
		if start then body =mw.ustring.sub(body, start+1, #body) end&lt;br /&gt;
		body = mw.text.trim(body)&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	return body&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
function p.find_title(str, title, keep_title)&lt;br /&gt;
	if title == nil then return '' end&lt;br /&gt;
	if title == '' then return str end&lt;br /&gt;
	settion_data_begin, settion_data_end = mw.ustring.find(title, &amp;quot;_[0-9]+$&amp;quot;, 1)&lt;br /&gt;
	&lt;br /&gt;
	find_count = 1&lt;br /&gt;
	if settion_data_begin ~= nil then &lt;br /&gt;
		cutted_title = mw.ustring.sub(title, 1, settion_data_begin - 1)&lt;br /&gt;
		find_count = tonumber(mw.ustring.sub(title, settion_data_begin + 1, settion_data_end))&lt;br /&gt;
	else&lt;br /&gt;
		cutted_title = title&lt;br /&gt;
	end&lt;br /&gt;
	if find_count &amp;lt; 1 then &lt;br /&gt;
		find_count = 1&lt;br /&gt;
		cutted_title = title &lt;br /&gt;
	end&lt;br /&gt;
	show_t = true&lt;br /&gt;
	if keep_title ~= nil then&lt;br /&gt;
		if yesno == nil then yesno = require('Module:Yesno') end&lt;br /&gt;
		if keep_title == &amp;quot;hide&amp;quot; then show_t = false end&lt;br /&gt;
		keep_t = yesno(keep_title)&lt;br /&gt;
	else&lt;br /&gt;
		keep_t = false&lt;br /&gt;
	end&lt;br /&gt;
	&lt;br /&gt;
	str = '\n'..mw.text.trim(mw.ustring.gsub(str,&amp;quot;\127\'\&amp;quot;`UNIQ%-%-h%-.-QINU`\&amp;quot;\'\127&amp;quot;, p.nullstr))&lt;br /&gt;
&lt;br /&gt;
	--^$()%.[]*+-?&lt;br /&gt;
	title_matcher = mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(title, &lt;br /&gt;
		&amp;quot;%%&amp;quot;, &amp;quot;%%%%&amp;quot;), &amp;quot;%)&amp;quot;, &amp;quot;%)&amp;quot;), &amp;quot;%-&amp;quot;, &amp;quot;%-&amp;quot;), &amp;quot;%^&amp;quot;, &amp;quot;%^&amp;quot;), &amp;quot;%$&amp;quot;, &amp;quot;%$&amp;quot;), &amp;quot;%(&amp;quot;, &amp;quot;%(&amp;quot;), &amp;quot;%.&amp;quot;, &amp;quot;%.&amp;quot;), &amp;quot;%*&amp;quot;, &amp;quot;%*&amp;quot;), &amp;quot;%+&amp;quot;, &amp;quot;%+&amp;quot;), &amp;quot;%|&amp;quot;, &amp;quot;%|&amp;quot;)&lt;br /&gt;
	title_matcher = mw.ustring.gsub(mw.ustring.gsub(title_matcher, &amp;quot;%[&amp;quot;, &amp;quot;%[&amp;quot;) , &amp;quot;%]&amp;quot;, &amp;quot;%]&amp;quot;) &lt;br /&gt;
	title_matcher = mw.ustring.gsub(mw.ustring.gsub(title_matcher, &amp;quot;%{&amp;quot;, &amp;quot;%{&amp;quot;) , &amp;quot;%}&amp;quot;, &amp;quot;%}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	cutted_title_matcher = mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(mw.ustring.gsub(cutted_title, &lt;br /&gt;
		&amp;quot;%%&amp;quot;, &amp;quot;%%%%&amp;quot;), &amp;quot;%)&amp;quot;, &amp;quot;%)&amp;quot;), &amp;quot;%-&amp;quot;, &amp;quot;%-&amp;quot;), &amp;quot;%^&amp;quot;, &amp;quot;%^&amp;quot;), &amp;quot;%$&amp;quot;, &amp;quot;%$&amp;quot;), &amp;quot;%(&amp;quot;, &amp;quot;%(&amp;quot;), &amp;quot;%.&amp;quot;, &amp;quot;%.&amp;quot;), &amp;quot;%*&amp;quot;, &amp;quot;%*&amp;quot;), &amp;quot;%+&amp;quot;, &amp;quot;%+&amp;quot;), &amp;quot;%|&amp;quot;, &amp;quot;%|&amp;quot;)&lt;br /&gt;
	cutted_title_matcher = mw.ustring.gsub(mw.ustring.gsub(cutted_title_matcher, &amp;quot;%[&amp;quot;, &amp;quot;%[&amp;quot;) , &amp;quot;%]&amp;quot;, &amp;quot;%]&amp;quot;) &lt;br /&gt;
	cutted_title_matcher = mw.ustring.gsub(mw.ustring.gsub(cutted_title_matcher, &amp;quot;%{&amp;quot;, &amp;quot;%{&amp;quot;) , &amp;quot;%}&amp;quot;, &amp;quot;%}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
	cutted_title_matcher = &amp;quot;\n=+ *&amp;quot; .. cutted_title_matcher .. &amp;quot; *=+ *\n&amp;quot;&lt;br /&gt;
	title_matcher = &amp;quot;\n=+ *&amp;quot; .. title_matcher .. &amp;quot; *=+ *\n&amp;quot;&lt;br /&gt;
	&lt;br /&gt;
	finded_title_begin, finded_title_end = mw.ustring.find(str, title_matcher, 1)&lt;br /&gt;
	if finded_title_begin == nil then&lt;br /&gt;
		finded_title_begin, finded_title_end = mw.ustring.find(str, cutted_title_matcher, 1)&lt;br /&gt;
		for index = 2, find_count do&lt;br /&gt;
			if finded_title_end ~= nil then&lt;br /&gt;
				finded_title_begin, finded_title_end = mw.ustring.find(str, cutted_title_matcher, finded_title_end + 1)&lt;br /&gt;
			end&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
&lt;br /&gt;
	if title == &amp;quot;__FIRST_SECTION__&amp;quot; then finded_title_begin = -1 end&lt;br /&gt;
	if finded_title_begin ~= nil then&lt;br /&gt;
		if title == &amp;quot;__FIRST_SECTION__&amp;quot; then&lt;br /&gt;
			finded_title = ''&lt;br /&gt;
			count = 99999&lt;br /&gt;
			finded_title_end = 1&lt;br /&gt;
		else&lt;br /&gt;
			finded_title = mw.ustring.sub(str, finded_title_begin, finded_title_end)&lt;br /&gt;
			&lt;br /&gt;
			begin_, end_ = mw.ustring.find(finded_title, &amp;quot;=+&amp;quot;, 1)&lt;br /&gt;
			begin_2, end_2 = mw.ustring.find(finded_title, &amp;quot;=+ *\n&amp;quot;, end_ + 1)&lt;br /&gt;
			count = end_ - begin_ + 1&lt;br /&gt;
			&lt;br /&gt;
		end&lt;br /&gt;
		next_title_matcher = &amp;quot;\n=+ *[^=\n]* *=+ *\n&amp;quot;&lt;br /&gt;
		next_title_find_begin, next_title_find_end = mw.ustring.find(str, next_title_matcher, finded_title_end + 1)&lt;br /&gt;
		flag = true while next_title_find_begin and flag do&lt;br /&gt;
			next_title_find = mw.ustring.sub(str, next_title_find_begin, next_title_find_end)&lt;br /&gt;
			find_begin_, find_end_ = mw.ustring.find(next_title_find, &amp;quot;=+&amp;quot;, 1)&lt;br /&gt;
			find_count = find_end_ - find_begin_ + 1&lt;br /&gt;
			if find_count &amp;lt;= count then &lt;br /&gt;
				next_title_begin = next_title_find_begin&lt;br /&gt;
				next_title_end = next_title_find_end&lt;br /&gt;
				flag = nil&lt;br /&gt;
			end&lt;br /&gt;
			next_title_find_begin, next_title_find_end = mw.ustring.find(str, next_title_matcher, next_title_find_end + 1)&lt;br /&gt;
		end&lt;br /&gt;
		&lt;br /&gt;
		--title_name = mw.text.trim(mw.ustring.sub(str, end_ + 1, begin_2-1 ))&lt;br /&gt;
		if next_title_begin == nil then next_title_begin = 0 end&lt;br /&gt;
		&lt;br /&gt;
		body = mw.ustring.sub(str, finded_title_end + 1, next_title_begin - 1)&lt;br /&gt;
		i = 1 j = 1 while mw.ustring.find(body, &amp;quot;\n=+ *[^\n]* *=+ *\n&amp;quot;) and j do if i&amp;gt;=10 then j = nil end&lt;br /&gt;
			body = mw.ustring.gsub(body, &amp;quot;\n=+ *[^\n]* *=+ *\n&amp;quot;, p.deltitle)&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		end&lt;br /&gt;
&lt;br /&gt;
		if show_t then if keep_title then body = finded_title .. body else body = p.deltitle(finded_title) .. body end end&lt;br /&gt;
		return  mw.text.trim(body)&lt;br /&gt;
	end&lt;br /&gt;
	return ''&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
function p.delcat_specific(frame)&lt;br /&gt;
	if frame == mw.getCurrentFrame() then&lt;br /&gt;
		if not getArgs then&lt;br /&gt;
			getArgs = require('Module:Arguments').getArgs&lt;br /&gt;
		end&lt;br /&gt;
		get_args = getArgs(frame, {parentFirst=true})&lt;br /&gt;
	else&lt;br /&gt;
		-- From [[Module:TemplateParameters]], Thank [[User:A2569875|A2569875]]&lt;br /&gt;
		if type(frame) ~= type({}) then&lt;br /&gt;
			get_args = {frame}&lt;br /&gt;
		else&lt;br /&gt;
			get_args = frame&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	local wt = ''&lt;br /&gt;
	local delcat = {}&lt;br /&gt;
	local i = 1&lt;br /&gt;
	for k, v in pairs( get_args ) do&lt;br /&gt;
		if k == 1 or k == '1' then&lt;br /&gt;
			--要處理的字串&lt;br /&gt;
			to_replace = v&lt;br /&gt;
		else&lt;br /&gt;
			delcat[i] = v&lt;br /&gt;
			i = i + 1&lt;br /&gt;
		end&lt;br /&gt;
	end&lt;br /&gt;
	for _, cat in ipairs( delcat ) do&lt;br /&gt;
		wt = mw.ustring.gsub(wt, &amp;quot;%[%[([Cc][Aa][Tt]|[Cc]ategory|CATEGORY|分类|分類):&amp;quot; .. cat .. &amp;quot;(%|.|)%]%]&amp;quot;, &amp;quot;&amp;quot;)&lt;br /&gt;
	end&lt;br /&gt;
	return wt&lt;br /&gt;
end&lt;br /&gt;
&lt;br /&gt;
return p&lt;/div&gt;</summary>
		<author><name>wiki_&gt;Xiplus-abot</name></author>
		
	</entry>
</feed>