Troncare testo
Con un limite di 20, The quick brown fox jumps over the lazy dog diventa The quick brown f..., esattamente 20 caratteri puntini compresi. Un testo che rientra già nel limite torna invariato. Gratis nel suo browser.
- Gratis
- Funziona nel suo browser
- Senza registrazione
- I suoi dati restano sul dispositivo
Esegui gratis nel browser
Esempio risolto
- Testo
- The quick brown fox jumps over the lazy dog
- Lunghezza
- 20
- Ingresso
- The quick brown fox jumps over the lazy dog
- Testo
- The quick brown f...
- Lunghezza originale
- 43
- Lunghezza del risultato
- 20
Uno strumento di troncamento accorcia una stringa a una lunghezza massima di visualizzazione e aggiunge puntini di sospensione quando l’originale non entra. Inserisca il testo semplice e la lunghezza intera che il risultato deve rispettare; lo strumento restituisce la stringa accorciata, se il troncamento è stato applicato, le lunghezze originale e del risultato, e un breve messaggio. Attivi opzionalmente la modalità limite di parola così il taglio preferisce l’ultimo spazio prima del limite invece di spezzare una parola a metà token. Anteprime, celle di tabella, titoli di card, snippet SEO, bolle di chat e testi di notifica necessitano della stessa regola rigida di lunghezza senza aprire un editor completo né chiamare un modello di riscrittura.
Cosa significa troncare con puntini rispetto a riscrivere o ritagliare
Il troncamento è un vincolo rigido di visualizzazione: conservare un prefisso della stringa sorgente e, quando la fonte è più lunga della lunghezza consentita, segnare l’omissione con un suffisso di puntini. Ciò differisce dal ritaglio degli spazi, che pulisce solo i bordi, e dall’accorciamento con IA, che riscrive il senso in meno parole. Qui la lunghezza massima è la lunghezza massima dell’intero risultato inclusi i puntini quando serve un taglio.
Se il testo già entra, lo strumento lo restituisce invariato e imposta truncated a false così i client possono saltare elementi UI che implicano più contenuto nascosto. Le lunghezze sotto uno non sono mai accettate: un’anteprima a larghezza zero non è un contratto utile per card, tabelle o notifiche, e i limiti negativi sono sempre bug del client. Il testo vuoto con una length valida è consentito e restituito vuoto senza puntini, il che evita che pipeline con campi opzionali falliscano solo perché un titolo è vuoto.
Casi d'uso
Titoli di card e anteprime di celle tabella
Limiti nomi prodotto e righe di elenco a un budget fisso di caratteri con puntini visibili così le UI dense restano allineate senza overflow a metà layout.
Test unitari per formattatori di display
Generi troncamenti hard e soft di riferimento più rifiuti di lunghezza sotto uno per helper frontend e pipeline di anteprima CMS.
Domande frequenti
La lunghezza include i puntini di sospensione?
Sì. Quando si applica il troncamento, la stringa restituita ha al più length caratteri incluso il suffisso di puntini. Se l’originale già entra, viene restituito invariato senza aggiungere puntini.
Cosa succede se length è zero o negativo?
Length deve essere un intero di almeno uno; i limiti sotto uno sono rifiutati e mai addebitati.
È la stessa cosa dell’accorciamento testo con IA?
No. Questa capacità è un taglio di prefisso deterministico con puntini. Non riscrive il senso. Usi uno strumento di accorciamento LLM quando le serve una parafrasi compressa invece di un tetto rigido di visualizzazione.
Lo strumento per troncare testo è gratis?
Lo strumento del browser è gratis e gira in locale.
Posso evitare di tagliare una parola a metà?
Sì. Attivi l'opzione del limite di parola e il taglio arretra fino all'ultimo spazio prima del limite, così il risultato finisce con una parola intera. Se non c'è nessuno spazio, il testo viene tagliato al limite.
Strumenti correlati
Per sviluppatori — accesso via API
Tutto quello che vedi in questa pagina è disponibile anche via API. Questa sezione è per i team che vogliono integrarlo nei propri sistemi; chi non ne ha bisogno può semplicemente usare lo strumento qui sopra.
Endpoint
Autenticazione con Bearer token: un POST mette in coda l'attività e il risultato arriva via webhook o link firmato.
Chiamala dal tuo stack
curl -X POST https://api.kit.forhosting.com/str/truncate \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"The quick brown fox jumps over the lazy dog","length":20}'const res = await fetch("https://api.kit.forhosting.com/str/truncate", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "The quick brown fox jumps over the lazy dog",
"length": 20
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/truncate",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "The quick brown fox jumps over the lazy dog",
"length": 20
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/truncate", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"The quick brown fox jumps over the lazy dog","length":20}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"The quick brown fox jumps over the lazy dog","length":20}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/truncate", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Esempio di richiesta
{
"text": "The quick brown fox jumps over the lazy dog",
"length": 20
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.truncate",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L'API è asincrona: ricevi subito un task_id e puoi fare polling fino a 1 richiesta al secondo.
Prezzi
Prezzo pubblicato, senza token né crediti. Se l'attività fallisce, non paghi.
Limiti
max_chars | 100000 |
Errori
| HTTP | Codice | Significato |
|---|---|---|
401 | unauthorized | Chiave API mancante o non valida: controlla l'header Authorization. |
402 | insufficient_balance | Credito esaurito: ricarica per continuare a eseguire attività. |
404 | unknown_type | Tipo di attività sconosciuto: controlla il campo type della richiesta. |
429 | rate_limited | Troppe richieste in poco tempo: rallenta e riprova tra qualche secondo. |
Note tecniche
Una lunghezza sotto uno viene rifiutata con un errore invalid_input chiaro affinché la validazione dei form e la CI non trattino mai un tetto zero o negativo come successo. Il percorso è logica di stringhe pura e deterministica—senza rete, senza semi casuali, senza dipendenza dall’orologio—così l’esecutore gratuito del browser e l’API prepagata restituiscono lo stesso JSON ogni volta che la invoca.
Cosa significa troncare con puntini rispetto a riscrivere o ritagliare
Se non entra, il solver calcola un budget di contenuto uguale a length meno la lunghezza dei puntini, prende un prefisso fino a quel budget, opzionalmente torna indietro allo spazio bianco precedente quando word_boundary è true, rimuove gli spazi finali del prefisso tenuto perché i puntini non restino dopo un vuoto pendente, e concatena i puntini.
Come chiamare l’API e cosa contiene la risposta
Invii un corpo JSON con text obbligatorio (alias input, value, string, s, content e body) e length obbligatorio (alias max_length, max, n, limit e max_len). Length deve essere un intero da uno a centomila inclusi; valori sotto uno, non interi e limiti sovradimensionati sono invalid_input. L’opzionale word_boundary (alias word, soft, on_word) ha default false e accetta booleano true o false. L’opzionale ellipsis (alias suffix, ending, marker) ha default di tre punti ASCII e può essere qualsiasi stringa fino a trentadue caratteri; quando serve il troncamento l’ellipsis non deve essere più lungo di length o la richiesta fallisce invece di inventare un marcatore tagliato. Text deve restare entro centomila caratteri affinché una singola richiesta non esaurisca la memoria del Worker o del browser. In caso di successo la risposta restituisce input come la stringa originale, text come la stringa finale da mostrare, length come il massimo richiesto, original_length e result_length come conteggi di caratteri, truncated come booleano, word_boundary come il flag inviato (o il default), ellipsis come il suffisso usato, used_word_boundary quando è stato applicato un taglio soft, e message come un breve riepilogo in inglese. La validazione fallita—text o length assenti, text non string, length non intero o sotto uno, payload sovradimensionato, o ellipsis che non entra sotto il limite quando serve un taglio—restituisce invalid_input e non viene mai addebitata. Il prezzo è un $0.002 fisso per richiesta riuscita con unità item e prezzo unitario marginale zero.
Suggerimenti pratici, limiti e ricerche correlate
Usi questa capacità quando l’intento di ricerca è troncare testo, aggiungere puntini alla lunghezza massima o tagliare in soft su un limite di parola online. Un ellipsis personalizzato come un singolo carattere di puntini Unicode o un’etichetta «altro» tra parentesi quadre funziona quando la sua lunghezza entra ancora nel budget. Questa pagina non è un riassuntore IA, non è un contatore di paragrafi o parole, non è un convertitore title-case e non è un ritagliatore solo dei bordi di riga. I controlli andata-e-ritorno per i test sono facili: invii una frase lunga con length venti e si aspetti truncated true e result_length al più venti; attivi word_boundary su una frase multi-parola e si aspetti che l’ultimo carattere tenuto non sia dentro una parola se esisteva uno spazio prima; invii length zero o un intero negativo e si aspetti invalid_input che menzioni lunghezza sotto uno. Preferisca un taglio hard quando le serve una griglia fissa di caratteri come log monospazio; preferisca word_boundary per titoli e anteprime rivolti alle persone dove i tagli a metà parola sembrano rotti. Preferisca text.shorten quando le serve compressione che preserva il senso sotto un budget di parole con un modello linguistico; preferisca str.trim_lines quando le serve solo pulizia spazi per riga; preferisca questa capacità quando il prodotto ha già deciso una lunghezza massima di visualizzazione rigida e deve mostrare un prefisso fedele. Le attività fallite che restituiscono invalid_input non consumano il saldo prepagato, il che mantiene economica la validazione dei form e i test negativi di CI. Formando i revisori, mostri la stessa frase in modalità hard e soft così vedono che cambiano solo la posizione del taglio e il flag used_word_boundary mentre la regola dei puntini resta uguale.
Casi di integrazione
Limiti di notifica e snippet di chat
Accorci messaggi push e in-app ai tetti di lunghezza della piattaforma evitando opzionalmente tagli a metà parola in modalità word_boundary.
Domande tecniche
Cosa fa word_boundary?
Quando true, il taglio preferisce l’ultimo spazio bianco prima del budget di contenuto per non spezzare le parole a metà token. Se non c’è uno spazio adatto, torna a un taglio hard per caratteri.