มอดูล:Trim text

จากวิกิพีเดีย สารานุกรมเสรี
Documentation icon คู่มือการใช้งานมอดูล[ดู] [แก้] [ประวัติ] [ล้างแคช]

การใช้งาน[แก้]

{{#invoke:Trim text|trim|input text|prefix1|prefix2|prefix3|...}}

ตัวอย่าง[แก้]

  • {{#invoke:trim text|trim|โรงเรียนสวนกุหลาบ|วิทยาลัยเทคโนโลยี|มหาวิทยาลัยเทคโนโลยี|สถาบันเทคโนโลยีแห่ง|สถาบันเทคโนโลยี|โรงเรียน|วิทยาลัย|มหาวิทยาลัย|สถาบัน|<!-- blank -->}} --> สวนกุหลาบ
  • {{#invoke:trim text|trim|สวนกุหลาบ|วิทยาลัยเทคโนโลยี|มหาวิทยาลัยเทคโนโลยี|สถาบันเทคโนโลยีแห่ง|สถาบันเทคโนโลยี|โรงเรียน|วิทยาลัย|มหาวิทยาลัย|สถาบัน|<!-- blank -->}} --> สวนกุหลาบ
  • {{#invoke:trim text|trim|โรงเรียนสวนกุหลาบ|วิทยาลัยเทคโนโลยี|มหาวิทยาลัยเทคโนโลยี|สถาบันเทคโนโลยีแห่ง|สถาบันเทคโนโลยี|โรงเรียน|วิทยาลัย|มหาวิทยาลัย|สถาบัน}} --> สวนกุหลาบ
  • {{#invoke:trim text|trim|สวนกุหลาบ|วิทยาลัยเทคโนโลยี|มหาวิทยาลัยเทคโนโลยี|สถาบันเทคโนโลยีแห่ง|สถาบันเทคโนโลยี|โรงเรียน|วิทยาลัย|มหาวิทยาลัย|สถาบัน}} -->

local p = {}

local function ipairsAtOffset(t, i)
	local f, s, i0 = ipairs(t)
	return f, s, i0+i
end

function p.matchFromPairs(s, ...)
	for _, v in ... do
		local l = mw.ustring.len(v)
		if mw.ustring.sub(s, 1, l) == v then return l end
	end
	return -1
end

function p.trimFromPairs(s, ...)
	--return mw.ustring.sub(1+p.matchFromPairs(s, ...))
	local l = p.matchFromPairs(s, ...)
	if l < 0 then return nil end
	return mw.ustring.sub(s, 1+l)
end

function p.match(frame)
	return p.matchFromPairs(frame.args[1], ipairsAtOffset(frame.args, 1))
end

function p.trim(frame)
	return p.trimFromPairs(frame.args[1], ipairsAtOffset(frame.args, 1))
end

return p