Zum Inhalt springen

Wikipedia:Lua/Modul/URLutil/de

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 16. April 2013 um 21:10 Uhr durch PerfektesChaos (Diskussion | Beiträge) (kl). Sie kann sich erheblich von der aktuellen Version unterscheiden.

Modul * en


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 nur in Standard-Notation (durch Punkte gegliedert, dezimal)
  • URL nicht mit IPv6-Host (geklammert; beißt sich etwas mit der Wikisyntax)

Funktionen für Vorlagen

Alle Funktionen sind 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 URL die Domain oder IP-Adresse (Ergebnis kleingeschrieben)
  • nichts – wenn unzulässig
getScheme
Extrahiere aus einer URL das Schema (Ergebnis kleingeschrieben; einschließlich doppelter Schrägstriche)
  • // – relatives Protokoll
  • https:// – Protokoll
  • nichts – wenn Beginn der URL unzulässig
isAuthority
Ist es eine Server-Adresse (auch IP), einschließlich Port?
  • 1ja
isDomain
Ist es eine benannte Domain, einschließlich Sub-Domains?
  • 1ja
isHost
Ist es eine Server-Adresse ohne Port (auch IP)?
  • 1ja
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)?
  • 1ja
isIPv6
Ist es eine IPv6-Adresse?
  • 1ja
isMailAddress
Ist es eine E-Mail-Adresse?
  • 1ja
isPort
Ist es eine Port-Angabe einschließlich führendem Doppelpunkt?
  • 1ja
isUnescapedURL
Ist es eine URL, bei der noch Wikisyntax [ | ] abgefangen werden muss?
  • 1ja
isWebURL
Ist es eine gültige Adresse für eine Ressource (Protokoll beliebig)?
  • 1ja

Eine Testseite illustriert praktische Beispiele.

Funktionen für Lua-Module

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

Zur Unterscheidung tragen sie einen führenden Unterstreichungsstrich.

  • _getAuthority()
  • _getHost()
  • _getScheme()
  • _isAuthority()
  • _isDomain()
  • _isHost()
  • _isIP()
    "4", "6", oder false
  • _isIPv4()
  • _isIPv6()
  • _isMailAddress()
  • _isPort()
  • _isUnescapedURL()
  • _isWebURL()

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

Vorbild

en:Module:IPAddress – 1. März 2013