Text

URLs

Was ist der URL-Extractor?

Du hast einen 200-zeiligen E-Mail-Thread, einen Slack-Channel-Export, eine Log-Datei, ein Support-Transkript oder ein paar Markdown-Notizen — und willst alle darin erwähnten URLs, in Reihenfolge, ohne Duplikate, fertig zum Einfügen woanders. Vielleicht protokollierst du, welche Links ein Kunde geklickt hat. Vielleicht überprüfst du vor dem Veröffentlichen ein Dokument auf ausgehende Verweise. Vielleicht fütterst du die URLs in einen Crawler. Was auch immer es ist, du willst nicht 40-mal scrollen und kopieren-einfügen. Text in den linken Bereich werfen, und der rechte Bereich liefert ein JSON-Array aller gefundenen URLs.

Die Extraktion basiert auf einem schlichten Regex, der http:// und https:// gefolgt von beliebigen Nicht-Whitespace-Zeichen matcht. Jeder Treffer wird dann von Satzzeichen am Ende befreit, die fast nie zur URL gehören (Punkt, Komma, Semikolon, schließende Klammer — der Kram, der entsteht, wenn ein Satz auf einem Link endet) und über den URL-Konstruktor validiert. Akzeptiert ihn der Konstruktor, ist die URL echt; wirft er, wird sie übersprungen. Duplikate werden entfernt, wobei die Reihenfolge des ersten Vorkommens erhalten bleibt — wer zuerst auftaucht, bleibt drin. Der Ansatz entspricht dem, was der WHATWG URL Standard "URL parsing" nennt, und passt zu der Art, wie JavaScript-Regex URL-Erkennung üblicherweise machen.

Die Ausgabe ist ein JSON-Array von Strings, in der Reihenfolge, in der die URLs vorkamen. Wenn keine URLs im Text waren, bekommst du [] — leeres Array, kein Fehler, kein Toast. Das Ganze läuft in deinem Browser. Nichts wird hochgeladen, nichts geloggt. Die RFC 3986 ist die Spec dahinter, was als gültige URL zählt, und der URL-Konstruktor implementiert sie.

Wie der Extractor zu benutzen ist

Drei Schritte. Jeder entspricht einem Button auf dieser Seite.

1

Text einfügen oder Beispiel laden

Wirf deinen Text in den linken Bereich — E-Mail-Body, Log-Datei, Transkript, Artikel, was auch immer. Klick auf Beispiel, um einen realistischen Fall zu laden: eine interne Team-Notiz mit vier verstreuten URLs. Beispieleingabe:

Hi Team — bitte schaut euch die Bestellung unter https://api.shop.example.com/v1/orders/ORD-1001 an
und werft auch einen Blick auf das Dashboard https://admin.shop.example.com/dashboard?tab=orders.
Die Kundin (Ava Chen) hat sich über http://support.shop.example.com/tickets/T-4521 gemeldet — siehe auch unsere Doku unter https://docs.shop.example.com/api/orders.

Der Extractor fängt nur <code>http://</code>- und <code>https://</code>-URLs. Nackte Domains wie <code>shop.example.com</code> ohne Schema werden übersprungen (sind mehrdeutig — könnten Hostname, Dateiname oder einfach Text sein).

2

URL-Array lesen

Der rechte Bereich zeigt ein JSON-Array von URLs in Dokumentreihenfolge, Duplikate entfernt. Satzzeichen am Ende, die vom umliegenden Satz stammen, werden abgeschnitten. Jede URL wird über den URL-Konstruktor validiert — was kaputt ist, wird stillschweigend übersprungen, sodass das Array nur echte, parsebare URLs enthält.

3

Kopieren oder herunterladen

Klick Kopieren, um das JSON in die Zwischenablage zu schicken, oder Herunterladen, um es als .json-Datei zu speichern. Minifizieren packt das Array auf eine Zeile, falls du es für einen Log-Eintrag brauchst. Mit Leeren auf der Eingabeseite startest du mit einem leeren Block.

Wann du das wirklich nutzen würdest

Support-Tickets auditieren

Eine Kundin fügt einen langen E-Mail-Thread in ein Ticket ein. Der Agent (Marco Rivera) muss alle URLs kennen, auf die sie verweist. E-Mail-Body hier reinwerfen, Array holen, jede einzelne durchklicken. Spart das Scrollen und das Risiko, eine zu übersehen.

Slack- oder Discord-Export crawlen

Du hast einen Channel exportiert und willst alle verlinkten Ressourcen in deinen Link-Checker oder Archive-Bot kippen. Der Export ist JSON oder HTML, aber die URLs hängen zwischen Text, Emojis und Metadaten. Hier alles reinwerfen und du hast eine saubere URL-Liste, bereit für ein fetch() in einer Schleife.

Link-Audit vor dem Veröffentlichen von Posts und Docs

Priya Patel will gleich einen 4.000-Wörter-Artikel veröffentlichen und prüfen, ob jeder ausgehende Link noch funktioniert. Markdown-Quelle einfügen, URL-Array holen, durch einen Checker jagen. Die Google-Empfehlungen zur Crawlbarkeit von Links setzen funktionierende Links voraus — kaputte schaden dem Ranking.

URLs aus strukturierten Logs ziehen

Application-Logs haben oft URLs in Fehlermeldungen, Request-Traces oder Referrer-Feldern. Wenn du einen Vorfall untersuchst und alle URLs sehen willst, die durch ein 5-Minuten-Fenster geflossen sind, fügst du den Log-Ausschnitt ein und entfernst Duplikate. Oft ist diese deduplizierte Liste der schnellste Weg, die eine seltsame URL zu finden, die die Kaskade gestartet hat.

Häufige Fragen

Erkennt es ftp:// oder mailto: oder andere Schemata?

Nein — nur http:// und https://. Web-Links sind das, was Leute meistens mit "URLs extrahieren" meinen, und der Regex ist absichtlich eng gefasst, um Fehltreffer zu vermeiden. Wenn du andere Schemata brauchst, unterstützt der WHATWG URL Standard sie, aber das Matching wird unschärfer (mailto:-Adressen können wie Text aussehen, ftp: kommt im modernen Einsatz kaum noch vor). Mach ein Feature-Request auf, wenn du den Use Case wirklich hast.

Wie geht es mit Markdown-Links wie [text](https://example.com) um?

Sauber. Der Regex findet https://example.com innerhalb der Klammern und das Trimmen am Ende entfernt die schließende Klammer. So bekommst du die nackte URL aus Markdown, BBCode, HTML <a href> und den meisten anderen Syntaxen heraus, ohne formatspezifisches Parsen.

Werden Duplikate in Reihenfolge gehalten oder entfernt?

Entfernt, wobei die Reihenfolge des ersten Vorkommens erhalten bleibt. Wenn dein Text https://shop.example.com dreimal erwähnt, taucht sie einmal im Output auf, an der Position des ersten Vorkommens. Die Deduplizierung ist ein einfacher Set-Filter — siehe MDN zu Set.

Was ist mit URLs, die seltsame Zeichen enthalten — Pipes, eckige Klammern, runde Klammern?

Pipes (|) und eckige Klammern sind in URLs gültig, aber selten in echten URLs, also fängt der Regex sie, solange sie nicht von Whitespace eingeleitet werden. Schließende eckige Klammern und runde Klammern direkt am Ende eines Treffers werden getrimmt, weil sie viel wahrscheinlicher Satzzeichen sind als Teil der URL. Wenn du eine echte URL hast, die auf ) endet, akzeptiert der URL-Konstruktor sie zwar — aber du musst im Text ein Leerzeichen dahinter setzen, damit die schließende Klammer dranbleibt.

Gibt es ein Größenlimit?

Ja — 1 MB. Das sind ein paar tausend Seiten Text, mehr als genug für jeden E-Mail-Thread, jedes Transkript oder jeden Log-Ausschnitt, den du realistisch einfügen würdest. Wenn du eine Datei mit mehreren MB hast, teile sie auf oder lass sie vorher durch grep/ripgrep auf der Kommandozeile laufen.

Funktioniert es offline?

Ja. Alles läuft in deinem Browser — der Regex-Match, die URL-Validierung, die Deduplizierung. Der einzige Netzwerkverkehr ist das initiale Laden der Seite. Sobald die Seite offen ist, kannst du dich trennen und das Tool arbeitet weiter. Der URL-Konstruktor steckt laut URL API in jedem modernen Browser.

Andere URL- und Text-Tools

Extrahieren ist eine Operation. Hier ist, was natürlich dazu passt: