K wobsahej skočić

Wikipedija:Lua/Module/URLutil/de

Z Wikipedije, swobodneje encyklopedije
Programowanje předłohi Diskusije Lua Testy Podstrony
Modul Hornjoserbsce English Deutsch Modul: Dokumentacija

URLutil – Modul mit Funktionen für Zeichenketten im Zusammenhang mit Internet-Adressen (URL; IP-Adressen – auch IPv4 und IPv6 – sowie E-Mail). Auch internationalisierte Adressen (IRI) sind möglich.

Unterstellt wird ein Nutzen für ein Wiki-Projekt; also sinnvolle Adressen im offenen Internet. Folgende Sonderfälle sind nicht programmiert, aber auch kaum relevant:

  • IPv4-Adresse nicht in Standard-Notation (durch Punkte gegliedert, dezimal)
  • URL mit IPv6-Host (geklammert; beißt sich etwas mit der Wikisyntax)
  • Authority mit username

Funktionen für Vorlagen

[žórłowy tekst wobdźěłać]

Alle Funktionen haben genau einen unbenannten Parameter (sinnvollerweise anzugeben). Dieser ist tolerant gegenüber Leerzeichen vor oder nach dem Inhalt.

Der Rückgabewert ist eine leere Zeichenkette („nichts“), wenn der Parameterwert die Erwartung nicht erfüllt. Wenn ein Ergebnis vorhanden oder die Abfragebedingung wahr ist, resultiert mindestens ein Zeichen. Das Ergebnis beginnt oder endet nicht mit Leerzeichen.

getAuthority
Extrahiere aus einer Ressourcen-URL die Server-Ansteuerung (Ergebnis kleingeschrieben)
  • nichts – wenn unzulässig
getHost
Extrahiere aus einer Ressourcen-URL die Domain oder IP-Adresse (Ergebnis kleingeschrieben)
  • nichts – wenn unzulässig
getPort
Extrahiere aus einer Ressourcen-URL die Port-Angabe (Ergebnis Zahl)
  • nichts – wenn nicht vorhanden
getScheme
Extrahiere aus einer Ressourcen-URL das Schema (Ergebnis kleingeschrieben; einschließlich doppelter Schrägstriche)
  • // – relatives Protokoll
  • https:// – Protokoll
  • nichts – wenn Beginn der URL unzulässig
getTLD
Extrahiere aus einer Ressourcen-URL die Top-Level-Domain (Ergebnis kleingeschrieben)
  • nichts – wenn unzulässig
getTop2domain
Extrahiere aus einer Ressourcen-URL die obersten beiden Level der Domain (Ergebnis kleingeschrieben)
  • nichts – wenn unzulässig
isAuthority
Ist es die Server-Adresse (auch IP) einer Ressource, einschließlich Port?
  • 1 – ja
isDomain
Ist es eine benannte Domain, einschließlich Sub-Domains?
  • 1 – ja
isHost
Ist es eine Server-Adresse ohne Port (auch IP)?
  • 1 – ja
isIP
Ist es eine IP-Adresse?
  • 4 wenn IPv4 (in Standard-Notation)
  • 6 wenn IPv6
  • nichts – ansonsten
isIPv4
Ist es eine IPv4-Adresse in Standard-Notation (durch Punkte gegliedert, dezimal)?
  • 1 – ja
isIPv6
Ist es eine IPv6-Adresse?
  • 1 – ja
isMailAddress
Ist es eine E-Mail-Adresse?
  • 1 – ja
isMailLink
Ist es ein E-Mail-Link (mailto:)?
  • 1 – ja
isProtocolDialog
Ist es eine URL / Schema-Bezeichner, das im Wiki einen Dialog einleiten kann?
mailto, irc, ircs, ssh, telnet
  • 1 – ja
isProtocolWiki
Ist es eine URL / Schema-Bezeichner, womit im Wiki auf eine Ressource verwiesen werden kann?
Relatives Protokoll sowie ftp ftps git http https mms nntp sftp svn worldwind
Unerwünscht sind hier: gopher, wais sowie mailto, irc, ircs, ssh, telnet.
  • 1 – ja
isResourceURL
Ist es eine URL, bei der allgemein auf eine Ressource zugegriffen werden kann? Das wären: relatives Protokoll, http, https, ftp und außerdem ein gültiger Host. Andere URL wären auf Projekt- und Funktionsseiten vorstellbar, nicht aber im enzyklopädischen Bereich.
  • 1 – ja
isSuspiciousURL
Ist es eine syntaktisch „verdächtige“ URL, vor der gewarnt werden sollte?
  • 1 – ja
isUnescapedURL
Ist es eine URL, bei der noch Wikisyntax [ | ] abgefangen werden muss?
  • 1 – ja
isWebURL
Ist es eine gültige Adresse für eine Ressource (Protokoll beliebig)?
  • 1 – ja
wikiEscapeURL
Wikisyntax-sicher [ | ] escapen.
  • Identisch mit dem Parameter, wenn keine problematischen Zeichen vorkommen.
  • Ersatz von [ | ] durch Webserver-sichere HTML-Entities, falls vorhanden. Eine Pipe ist in der Vorlagensyntax nicht ohne Weiteres möglich.

Beispiele (Testseite)

[žórłowy tekst wobdźěłać]

Eine Testseite illustriert praktische Beispiele.

Funktionen für Lua-Module

[žórłowy tekst wobdźěłać]

Alle oben dokumentierten Funktionen können auch über require() in andere Module eingebunden werden:

local lucky, URLutil = pcall( require, "Modul:URLutil" )
if type( URLutil ) == "table" then
    URLutil = URLutil.URLutil()
else
    -- Fehlerfall; URLutil enthält Fehlermeldung
    return "<span class='error'>" .. URLutil .. "</span>"
end

Danach stehen zur Verfügung:

  • URLutil.getAuthority()
  • URLutil.getHost()
  • URLutil.getPort()
    numerischer Wert, oder false
  • URLutil.getScheme()
  • URLutil.getTLD()
  • URLutil.getTop2domain()
  • URLutil.isAuthority()
  • URLutil.isDomain()
  • URLutil.isHost()
  • URLutil.isIP()
    numerisch 4, 6, oder false
  • URLutil.isIPv4()
  • URLutil.isIPv6()
  • URLutil.isMailAddress()
  • URLutil.isMailLink()
  • URLutil.isProtocolDialog
  • URLutil.isProtocolWiki()
  • URLutil.isResourceURL()
  • URLutil.isSuspiciousURL()
  • URLutil.isUnescapedURL()
  • URLutil.isWebURL()
  • URLutil.wikiEscapeURL()

Im Erfolgsfall geben die URLutil.get*() eine Zeichenkette zurück, die URLutil.is*() den Wert true (sofern nicht anders angegeben); bei Misserfolg jeweils false.

Allgemeine Bibliothek; nicht eingegrenzt.

Keine.

  • mw: Uri library – andere Funktionalitäten auf allgemeiner URI; aber speziell für Wiki-URL hilfreich.
Z Wikipedije, swobodneje encyklopedije