Sabtu, 26 September 2026
16:22 WIB
TERKINI
Bandar Lampung Semangat Anak Sawah: Harumkan Nama Lampung di Kancah Nasional Tanpa Dukungan Pemda Lampung Selatan Gunung Anak Krakatau Kembali Erupsi, Status Siaga Tetap Dipertahankan Bandar Lampung BPS Lampung Tuntaskan Sensus Ekonomi 2026, Hasilnya Siap Rilis Awal 2027 Bandar Lampung Inovasi Double Teaching: Guru Ahli Berbagi Ilmu Lintas Sekolah di Lampung Bandar Lampung Coki, Buaya Peliharaan Warga Panjang yang Bikin Haru Jelang Evakuasi KKP Lampung Tekuni Hobi Sejak Kuliah, Dani Tetap Bertahan Jual Ikan Hias di Tengah Tantangan Cuaca Prakiraan Cuaca Lampung 26 September 2026: Cerah Berawan dan Potensi Hujan Humaniora Perlindungan Anak Digital: MPR Desak Komitmen Global Terwujud Nyata di Tanah Air Regional Bupati Gowa Sitti Husniah Talenrang Tersangka Pemerasan Perizinan Bangunan dan TPPU Bandar Lampung Puluhan Siswa di Lampung Tengah Diduga Keracunan Makanan Program MBG Bandar Lampung Semangat Anak Sawah: Harumkan Nama Lampung di Kancah Nasional Tanpa Dukungan Pemda Lampung Selatan Gunung Anak Krakatau Kembali Erupsi, Status Siaga Tetap Dipertahankan Bandar Lampung BPS Lampung Tuntaskan Sensus Ekonomi 2026, Hasilnya Siap Rilis Awal 2027 Bandar Lampung Inovasi Double Teaching: Guru Ahli Berbagi Ilmu Lintas Sekolah di Lampung Bandar Lampung Coki, Buaya Peliharaan Warga Panjang yang Bikin Haru Jelang Evakuasi KKP Lampung Tekuni Hobi Sejak Kuliah, Dani Tetap Bertahan Jual Ikan Hias di Tengah Tantangan Cuaca Prakiraan Cuaca Lampung 26 September 2026: Cerah Berawan dan Potensi Hujan Humaniora Perlindungan Anak Digital: MPR Desak Komitmen Global Terwujud Nyata di Tanah Air Regional Bupati Gowa Sitti Husniah Talenrang Tersangka Pemerasan Perizinan Bangunan dan TPPU Bandar Lampung Puluhan Siswa di Lampung Tengah Diduga Keracunan Makanan Program MBG

Modul:URL

Wikimedia module

Dokumentasi modulbuatsegarkan
Anda dapat membuat halaman dokumentasi untuk buat pada modul Scribunto ini.
Penyunting dapat melakukan uji coba pada halaman bak pasir (buat | cermin) dan kasus uji (buat) modul ini.
Subhalaman modul ini.
--
-- This module implements {{URL}}
--
-- See unit tests at [[Module:URL/testcases]]
localp={}
localfunctionsafeUri(s)
localsuccess,uri=pcall(function()
returnmw.uri.new(s)
end)
ifsuccessthen
returnuri
end
end
localfunctionextractUrl(args)
forname,valinpairs(args)do
ifname~=2andname~="msg"then
localurl=name.."="..val;
url=mw.ustring.gsub(url,'^[Hh][Tt][Tt][Pp]([Ss]?):(/?)([^/])','http%1://%3')
localuri=safeUri(url);
ifurianduri.hostthen
returnurl
end
end
end
end
functionp._url(url,text,msg)
url=mw.text.trim(urlor'')
text=mw.text.trim(textor'')
-- Check for pre-formatted url. Catches '{{url|{{url|google.com}}}}' that can occur via template
if(mw.ustring.match(url,'^<span class="url">'))then
returnurl,text,msg
end
localnomsg=(msgor''):sub(1,1):lower()=="n"ormsg=='false'-- boolean: true if msg is "false" or starts with n or N
ifurl==''then
iftext==''then
ifnomsgthen
returnnil
else
returnmw.getCurrentFrame():expandTemplate{title='tlx',args={'URL',"''example.com''","''optional display text''"}}
end
else
returntext
end
end
-- If the URL contains any unencoded spaces, encode them, because MediaWiki will otherwise interpret a space as the end of the URL.
url=mw.ustring.gsub(url,'%s',function(s)returnmw.uri.encode(s,'PATH')end)
-- If there is an empty query string or fragment id, remove it as it will cause mw.uri.new to throw an error
url=mw.ustring.gsub(url,'#$','')
url=mw.ustring.gsub(url,'%?$','')
-- If it's an HTTP[S] URL without the double slash, fix it.
url=mw.ustring.gsub(url,'^[Hh][Tt][Tt][Pp]([Ss]?):(/?)([^/])','http%1://%3')
localuri=safeUri(url)
-- Handle URL's without a protocol and URL's that are protocol-relative, 
-- e.g. www.example.com/foo or www.example.com:8080/foo, and //www.example.com/foo
ifuriand(noturi.protocolor(uri.protocolandnoturi.host))andurl:sub(1,2)~='//'then
url='http://'..url
uri=safeUri(url)
end
iftext==''then
ifurithen
ifuri.path=='/'thenuri.path=''end
localport=''
ifuri.portthenport=':'..uri.portend
text=mw.ustring.lower(uri.hostor'')..port..(uri.relativePathor'')
-- Add <wbr> before _/.-# sequences
text=mw.ustring.gsub(text,"(/+)","<wbr/>%1")-- This entry MUST be the first. "<wbr/>" has a "/" in it, you know.
text=mw.ustring.gsub(text,"(%.+)","<wbr/>%1")
-- text = mw.ustring.gsub(text,"(%-+)","<wbr/>%1") 	-- DISABLED for now
text=mw.ustring.gsub(text,"(%#+)","<wbr/>%1")
text=mw.ustring.gsub(text,"(_+)","<wbr/>%1")
else-- URL is badly-formed, so just display whatever was passed in
text=url
end
end
returnmw.ustring.format('<span class="url">[%s %s]</span>',url,text)
end
--[[
The main entry point for calling from Template:URL.
--]]
functionp.url(frame)
localtemplateArgs=frame.args
localparentArgs=frame:getParent().args
localurl=templateArgs[1]orparentArgs[1]
localtext=templateArgs[2]orparentArgs[2]or''
localmsg=templateArgs.msgorparentArgs.msgor''
url=urlorextractUrl(templateArgs)orextractUrl(parentArgs)or''
returnp._url(url,text,msg)
end
--[[
The entry point for calling from the forked Template:URL2.
This function returns no message by default.
It strips out wiki-link markup, html tags, and everything after a space.
--]]
functionp.url2(frame)
localtemplateArgs=frame.args
localparentArgs=frame:getParent().args
localurl=templateArgs[1]orparentArgs[1]
localtext=templateArgs[2]orparentArgs[2]or''
-- default to no message
localmsg=templateArgs.msgorparentArgs.msgor'no'
url=urlorextractUrl(templateArgs)orextractUrl(parentArgs)or''
-- if the url came from a Wikidata call, it might have a pen icon appended
-- we want to keep that and add it back at the end.
localu1,penicon=mw.ustring.match(url,"(.*)(&nbsp;<span class='penicon.*)")
ifpeniconthenurl=u1end
-- strip out html tags and [ ] from url
url=(urlor''):gsub("<[^>]*>",""):gsub("[%[%]]","")
-- truncate anything after a space
url=url:gsub("%%20"," "):gsub(" .*","")
return(p._url(url,text,msg)or"")..(peniconor"")
end
returnp
Konten disalin dari Wikipedia Bahasa Indonesia (lisensi CC BY-SA) Lihat versi asli di Wikipedia

Rekomendasi Pilihan