Testo

URL

Cos'è l'estrattore di URL?

Hai un thread di email da 200 righe, un export di un canale Slack, un file di log, una trascrizione del supporto clienti, o qualche nota in markdown — e vuoi tutti gli URL menzionati, in ordine, senza duplicati, pronti da incollare altrove. Magari stai facendo audit dei link che un cliente ha cliccato. Magari stai passando in rassegna un documento per controllare i link in uscita prima di pubblicarlo. Magari stai preparando gli URL per darli in pasto a un crawler. Qualunque sia il motivo, non hai voglia di scorrere e fare copia-incolla 40 volte. Butta il testo nel pannello di sinistra e quello di destra ti restituisce un array JSON con tutti gli URL trovati.

L'estrazione si basa su una regex semplice che matcha http:// e https:// seguiti da qualsiasi sequenza di caratteri non bianchi. Ogni match viene poi rifilato dalla punteggiatura finale che quasi mai fa parte di un URL (punto, virgola, punto e virgola, parentesi tonda o quadra di chiusura — quella robetta che resta quando una frase finisce con un link), e validato tramite il costruttore URL. Se il costruttore lo accetta, è un URL vero; se solleva, viene scartato. I duplicati vengono rimossi mantenendo l'ordine di apparizione — vince la prima occorrenza. L'approccio combacia con quello che il WHATWG URL Standard chiama "URL parsing" e con il modo in cui le regex JavaScript trattano comunemente il riconoscimento di URL.

L'output è un array JSON di stringhe, nell'ordine in cui gli URL sono apparsi. Se nel testo non c'erano URL, ottieni [] — array vuoto, senza errore, senza toast. Tutto gira nel tuo browser. Niente viene caricato, niente loggato. La RFC 3986 è la spec di riferimento per cosa conta come URL valido, e il costruttore URL la implementa.

Come usare l'estrattore

Tre passi. Ognuno corrisponde a un pulsante della pagina.

1

Incolla il testo o carica l'esempio

Metti il tuo testo nel pannello di sinistra — un corpo email, un file di log, una trascrizione, un articolo, qualsiasi cosa. Premi Esempio per caricare un caso realistico: un appunto interno al team con quattro URL sparsi. Input di esempio:

Ciao team — date un'occhiata all'ordine su https://api.shop.example.com/v1/orders/ORD-1001
e controllate anche la dashboard https://admin.shop.example.com/dashboard?tab=orders.
La cliente (Ava Chen) ci ha scritto via http://support.shop.example.com/tickets/T-4521 — vedete anche la documentazione su https://docs.shop.example.com/api/orders.

L'estrattore prende solo URL <code>http://</code> e <code>https://</code>. I domini nudi tipo <code>shop.example.com</code> senza schema vengono saltati (sono ambigui — potrebbero essere un hostname, un nome file o solo testo).

2

Leggi l'array di URL

Il pannello di destra mostra un array JSON di URL nell'ordine del documento, con i duplicati rimossi. La punteggiatura finale che veniva dalla frase circostante viene tagliata. Ogni URL viene validato dal costruttore URL — qualunque cosa malformata viene scartata in silenzio, quindi l'array contiene solo URL veri e parsabili.

3

Copia o scarica

Premi Copia per mandare il JSON negli appunti, o Scarica per salvarlo come file .json. Minifica compatta l'array su una sola riga se ti serve per una voce di log. Usa Pulisci sull'input per ripartire da un blocco vuoto.

Quando lo userai davvero

Audit dei ticket di supporto clienti

Un cliente incolla un thread email lungo dentro un ticket. L'agente (Marco Rivera) deve sapere ogni URL a cui il cliente sta facendo riferimento. Butta il corpo dell'email qui dentro, prendi l'array, clicca su ognuno. Risparmi gli occhi dallo scrolling e il rischio di lasciarne fuori uno.

Crawlare un export di Slack o Discord

Hai esportato un canale e vuoi passare ogni risorsa linkata al tuo link checker o al bot di archiviazione. L'export è JSON o HTML, ma gli URL sono mescolati a testo, emoji e metadati. Incolla tutto qui e hai una lista pulita di URL pronta per un fetch() in loop.

Audit dei link prima di pubblicare post e doc

Priya Patel sta per pubblicare un articolo da 4.000 parole e vuole verificare che ogni link in uscita funzioni ancora. Incolla la sorgente markdown, prendi l'array di URL, fanne girare uno per uno in un checker. Le indicazioni di Google sulla crawlabilità dei link presuppongono che i tuoi link funzionino — quelli rotti danneggiano il ranking.

Estrarre URL da log strutturati

I log delle applicazioni spesso contengono URL nei messaggi di errore, nei trace delle richieste o nei campi referrer. Se stai indagando su un incidente e devi vedere tutti gli URL passati in una finestra di 5 minuti, incolla la fetta di log e deduplica. Spesso quella lista deduplicata è la via più rapida per individuare l'unico URL strano che ha innescato la cascata.

Domande frequenti

Prende ftp:// o mailto: o altri schemi?

No — solo http:// e https://. I link web sono ciò che la gente intende di solito con "estrai URL", e la regex è volutamente stretta per evitare falsi positivi. Se ti servono altri schemi, il WHATWG URL Standard li supporta ma la rilevazione diventa più nebulosa (gli indirizzi mailto: somigliano a testo, ftp: ormai è raro). Apri una richiesta di feature se hai un caso d'uso reale.

Come gestisce i link markdown tipo [testo](https://example.com)?

Pulitamente. La regex trova https://example.com dentro le parentesi e il taglio della punteggiatura finale rimuove la parentesi di chiusura. Quindi tiri fuori l'URL nudo da markdown, BBCode, HTML <a href> e dalla maggior parte delle sintassi circostanti senza dover scrivere parser specifici per ogni formato.

I duplicati vengono mantenuti in ordine o rimossi?

Rimossi, mantenendo l'ordine della prima occorrenza. Se il tuo testo cita https://shop.example.com tre volte, compare una volta nell'output, alla posizione della prima occorrenza. La deduplica è un semplice filtro Set — vedi MDN su Set.

E gli URL con caratteri strani — pipe, parentesi quadre, parentesi tonde?

I pipe (|) e le parentesi quadre sono validi negli URL ma rari in quelli reali, quindi la regex li prende finché non sono preceduti da spazi bianchi. Le parentesi quadre e tonde di chiusura proprio alla fine di un match vengono tagliate perché è molto più probabile che siano punteggiatura della frase invece che parte dell'URL. Se hai un URL vero che termina con ), il costruttore URL lo accetta comunque — ma dovresti aggiungere uno spazio dopo nel testo per tenere attaccata la parentesi di chiusura.

C'è un limite di dimensione?

Sì — 1 MB. Sono qualche migliaio di pagine di testo, più che sufficiente per qualsiasi thread email, trascrizione o fetta di log che incolleresti realisticamente. Se hai un file da diversi mega, spezzettalo o passalo prima per grep/ripgrep da riga di comando.

Funziona offline?

Sì. Tutto gira nel tuo browser — il match della regex, la validazione URL, la deduplica. Il solo traffico di rete è il caricamento iniziale della pagina. Una volta aperta, puoi disconnetterti e lo strumento continua a funzionare. Il costruttore URL è integrato in ogni browser moderno per la URL API.

Altri strumenti URL e testo

Estrarre è un'operazione. Ecco cosa va a braccetto in modo naturale: