Url

تستخدم في }

-- -- This module implements {{URL}} -- -- See unit tests at [[Module:URL/tests]]  local p = {}   function trim(s)     return (mw.ustring.gsub(s, "^%s*(.-)%s*$", "%1")) end  function safeUri(s)     local success, uri = pcall(function()         return mw.uri.new(s)     end)     if success then         return uri     end end  function p._url(url, text)     url = trim(url or '')     text = trim(text or '')          if url == '' then         if text == '' then             return mw.getCurrentFrame():expandTemplate{ title = 'tlx', args = { 'URL', "''example.com''", "''optional display text''" } }         else             return text         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) return mw.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')      -- Handle URLs from Wikidata of the format http://     url = mw.ustring.gsub(url, '^[Hh][Tt][Tt][Pp]([Ss]?)://', 'http%1://')          local uri = 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     if uri and (not uri.protocol or (uri.protocol and not uri.host)) and url:sub(1, 2) ~= '//' then         url = 'http://' .. url         uri = safeUri(url)     end          if text == '' then         if uri then             if uri.path == '/' then uri.path = '' end                          local port = ''             if uri.port then port = ':' .. uri.port end                          text = mw.ustring.lower(uri.host or '') .. port .. (uri.relativePath or '')         else -- URL is badly-formed, so just display whatever was passed in             text = url         end     end  -- Add  before _/.-# sequences text = mw.ustring.gsub(text,"(/+)","%1")      -- This entry MUST be the first. "" has a "/" in it, you know. text = mw.ustring.gsub(text,"(%.+)","%1") -- text = mw.ustring.gsub(text,"(%-+)","%1") -- DISABLED for now text = mw.ustring.gsub(text,"(%#+)","%1") text = mw.ustring.gsub(text,"(_+)","%1")      return mw.ustring.format('[%s %s]', url, text) end  function p.url(frame)     local templateArgs = frame.args     local url = templateArgs[1] or ''     local text = templateArgs[2] or ''     return p._url(url, text) end  return p 

Tags:

قالب:مسار

🔥 Trending searches on Wiki العربية:

أرقام الهاتف في السعوديةزيد بن حارثةمنتخب البرازيل لكرة القدمأنبياء مذكورون في القرآنالإعجاز العلمي في القرآنكريم عبد العزيزرمضانفيروز (مغنية)أحمد شوقيالبحرينأبو بكر الصديققائمة شخصيات مسلسل باب الحارةزكاةعبد الله بن عبد العزيز آل سعودعبد العزيز بن بازقذف الإناثعملية طوفان الأقصىمحمود داوودطلحة بن عبيد اللهكأس العالم 2022الاتحاد الأوروبيعمر (مسلسل)محمد علي باشاكسوف الشمس 8 أبريل 2024أبو لهبخديجة بنت خويلدابن سينامحمد رياضبلجيكاغزوة مؤتةنزار قبانيمعن بن عبد الواحد الصانعدانيالغزوات الرسول محمدقنوتعدنان خاشقجيرحيل (مسلسل)مدرسصفية بنت حيي بن أخطبتونسأبو هريرةتركي آل الشيخفضائل الصومأبو الطيب المتنبيتصنيف فيفا العالمي للرجالفيليبي كوتينيوقائمة السلالة العثمانيةرامز جاب من الآخراتصالكرة القدمفتنة مقتل عثمانجزء عمالجزيرة (قناة)كأس آسيابرج الجديتقويم ميلاديأبريلعنترة بن شدادعبد الله بن عباسإيطالياأيمن زيدانعائشة بنت أبي بكرنانسي عجرمنسب النبي محمدأوروباحسن عسيريبوليفارد وورلدمص القضيبجماعبظرالمعلم (مسلسل مصري)إسماعيل هنيةالبراني (مسلسل)المؤسس عثمان (مسلسل)مسلمأنجلينا جولي🡆 More