Entourer chaque ligne
Collez alpha, beta et gamma sur trois lignes et obtenez "alpha", "beta" et "gamma", car par défaut chaque ligne est entourée de guillemets droits doubles. Vous pouvez utiliser accents graves, balises HTML, puces ou parenthèses, jusqu'à 64 caractères de chaque côté. Gratuit dans votre navigateur.
- Gratuit
- Fonctionne dans votre navigateur
- Sans inscription
- Vos données restent sur votre appareil
Lancer gratuitement
Exemple résolu
- Texte
- alpha beta gamma
- Entrée
- alpha beta gamma
- Texte
- "alpha" "beta" "gamma"
- Préfixe
- "
- Suffixe
- "
Entourer chaque ligne d’un collage du même préfixe et du même suffixe est un geste quotidien pour qui met des journaux entre guillemets, étiquette des éléments de liste, construit des lignes délimitées ou transforme une colonne de mots en valeurs entre guillemets. Cet outil prend tout bloc de texte non vide, le découpe sur des sauts de ligne normalisés et place le préfixe choisi avant chaque ligne et le suffixe après. Par défaut, chaque ligne est entourée de guillemets droits, de sorte qu’une liste devient une liste entre guillemets sans réglage supplémentaire. Vous pouvez passer aux accents graves, aux balises HTML, aux puces markdown, aux parenthèses ou à toute courte chaîne dont vous avez besoin.
Ce que signifie entourer chaque ligne et quand cela aide
La plupart des éditeurs peuvent entourer une sélection entière d’une seule paire de guillemets, mais cela laisse intacts les sauts intérieurs et ne place pas un préfixe et un suffixe sur chaque rangée. L’intention de recherche derrière entourer chaque ligne de texte est autre : vous avez déjà un élément par ligne et vous voulez la même décoration sur chacun.
Après contrôle de l’entrée, les sauts sont normalisés depuis le CRLF Windows et le CR classique Mac vers une forme LF unique, la chaîne est découpée sur chaque LF et chaque segment résultant est concaténé en préfixe plus ligne d’origine plus suffixe. Vous pouvez à la place envoyer une puce markdown comme préfixe et un suffixe vide, ou des balises HTML ouvrantes et fermantes, ou une parenthèse gauche et une virgule fermante pour une liste de valeurs.
Les caractères intérieurs d’une ligne ne changent jamais ; seuls les bords reçoivent les affixes. Les lignes vides existent encore après le découpage. Par défaut elles deviennent préfixe plus suffixe, ce qui est correct lorsque vous voulez chaque rangée visuelle décorée.
La conception couvre des tâches quotidiennes telles que mettre une colonne entre guillemets, entourer des lignes de journal pour un ticket ou transformer une liste de contrôle en balisage étiqueté, sans ouvrir un rechercher-remplacer d’IDE complet.
Conseils pratiques, limites et recherches associées
Utilisez cette capacité lorsque l’intention de recherche est d’entourer chaque ligne de texte, d’ajouter un préfixe et un suffixe à chaque ligne, de mettre chaque ligne entre guillemets en ligne ou d’entourer des lignes avec des balises HTML. Collez une colonne de noms et conservez les guillemets par défaut pour produire une liste entre guillemets. Les lignes uniques extrêmement longues comptent encore pour une ligne chacune ; l’outil n’entoure pas selon une largeur de caractères.
Les sources HTML et Markdown sont traitées comme des chaînes brutes ; retirez d’abord les balises si vous ne voulez que des lignes de prose visible. Cette page n’est pas un entourage de document entier qui ne touche que le premier et le dernier caractère du collage, ni un numéroteur de lignes, ni un rogneur par ligne, ni un réécrivain à IA.
Préférez ajouter des numéros de ligne lorsque les relecteurs doivent citer des indices ; préférez rogner les bords de ligne lorsque vous voulez seulement supprimer les espaces ; préférez cette capacité lorsque des personnes ont déjà séparé les éléments par ligne et que vous avez besoin de la même décoration sur chacun.
En enseignant à des étudiants ou en intégrant des relecteurs, montrez le même échantillon avec des guillemets puis avec des balises, afin qu’ils voient que seuls les bords changent et que le corps d’origine de la ligne reste intact.
Cas d’usage
Décorer des extraits de journal pour des tickets
Entourez chaque ligne de journal d’un marqueur choisi ou d’un fragment de clôture de code afin qu’un collage de support reste aligné par ligne et facile à citer dans un rapport d’anomalie.
Questions fréquentes
Que fait précisément l’entourage de chaque ligne ?
Les caractères intérieurs ne changent pas. Par défaut, un guillemet droit est placé de chaque côté de chaque ligne.
Peut-on n’ajouter qu’un préfixe ou qu’un suffixe ?
Oui. Passez une chaîne vide du côté que vous ne voulez pas.
Que se passe-t-il si le champ texte arrive vide ?
Fournissez une chaîne non vide avec au moins un caractère qui n’est pas un espace.
L’outil pour entourer chaque ligne est-il gratuit ?
L’outil du navigateur est gratuit et s’exécute en local.
Que deviennent les lignes vides ?
Par défaut, elles sont aussi entourées : une ligne vide devient une paire de guillemets. Pour conserver les espaces entre paragraphes, activez l'option qui laisse les lignes vides telles quelles.
Outils associés
Pour les développeurs — accès API
Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.
Endpoint
Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/str/wrap-each-line \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"alpha\nbeta\ngamma"}'const res = await fetch("https://api.kit.forhosting.com/str/wrap-each-line", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "alpha\nbeta\ngamma"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/wrap-each-line",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "alpha\nbeta\ngamma"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/wrap-each-line", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"alpha\\nbeta\\ngamma"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"alpha\nbeta\ngamma"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/wrap-each-line", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"text": "alpha\nbeta\ngamma"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.wrap_each_line",
"status": "queued",
"_links": {
"result": "/tasks/tsk_…/result"
}
}L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Limites
max_chars | 100000 |
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |
Notes techniques
Une entrée vide ou uniquement composée d’espaces est rejetée avec une erreur invalid_input claire afin qu’un formulaire blanc ne ressemble jamais à un entourage réussi. Le chemin est une logique de chaînes pure et déterministe—sans réseau, sans graines aléatoires, sans dépendance d’horloge—de sorte que l’exécuteur gratuit du navigateur et l’API prépayée renvoient le même JSON à chaque appel.
Ce que signifie entourer chaque ligne et quand cela aide
Les valeurs par défaut utilisent un guillemet droit de chaque côté, de sorte que trois noms deviennent trois noms entre guillemets, prêts à coller dans du JSON, du CSV ou un fichier de configuration. Lorsque skip_empty vaut true, une ligne de longueur nulle reste vide afin que les blancs de paragraphe survivent tandis que les lignes de contenu sont entourées. Une entrée entière vide ou uniquement d’espaces est une erreur dure : il n’y a pas de document entouré significatif à renvoyer, et l’appelant doit le traiter comme invalid_input plutôt que comme un succès à zéro ligne.
Comment appeler l’API et ce que contient la réponse
Lorsque vous passez une chaîne vide explicite d’un côté, ce côté reste vide afin de ne préfixer que ou de ne suffixer que. Si les deux côtés deviennent des chaînes vides, l’appel est rejeté, car entourer avec rien n’est pas un entourage. Préférez envoyer le corps multiligne brut plutôt que de tout joindre à l’avance lorsque vous voulez une sémantique réelle par ligne. Envoyez un corps JSON avec un champ string obligatoire text (alias input, value, string, s, content et body). Incluez éventuellement prefix (alias pre et left) et suffix (alias post et right) comme chaînes d’au plus soixante-quatre caractères chacune, et skip_empty (alias skip_blank, ignore_empty et skip_blanks) comme boolean. Lorsque prefix ou suffix est omis, chacun vaut par défaut un guillemet droit. La valeur de text doit être non vide après trim global des espaces et ne doit pas dépasser cent mille caractères, afin qu’une seule requête n’épuise pas la mémoire du Worker ou du navigateur sur d’énormes collages. En cas de succès, la réponse renvoie input comme la chaîne d’origine envoyée, text comme le résultat entièrement entouré joint par LF, prefix et suffix comme les affixes effectifs, skip_empty comme le drapeau effectif, line_count comme le nombre de segments après découpage, wrapped_count comme le nombre de ces segments qui ont réellement reçu les affixes, lines comme un tableau ordonné des chaînes entourées, et message comme un court résumé en anglais. Une validation échouée—text manquant, valeur non string, charge trop grande, contenu vide après trim global, affixe non string ou trop long, les deux affixes vides ou un skip_empty non boolean—renvoie invalid_input et n’est jamais facturée. Le tarif est un $0.002 forfaitaire par requête réussie avec unité item. À l’intégration, assertez sur text ou lines pour le contenu entouré, sur wrapped_count lorsque skip_empty entre en jeu, et traitez invalid_input comme une erreur client sur les formulaires blancs plutôt que comme un événement de facturation.
Conseils pratiques, limites et recherches associées
Définissez prefix comme un chevron droit et un espace avec un suffix vide pour transformer des notes en citation de bloc markdown. Définissez prefix comme une balise d’élément de liste ouvrante et suffix comme la balise fermante correspondante pour construire des rangées de balisage. Les contrôles aller-retour pour les tests sont simples : envoyez trois lignes courtes et attendez trois lignes entre guillemets avec line_count trois et wrapped_count trois ; envoyez une ligne vide entre deux mots avec skip_empty true et attendez que la ligne du milieu reste vide ; envoyez délibérément une chaîne vide ou seulement des espaces pour confirmer invalid_input et le message qui demande une chaîne non vide ; envoyez prefix vide et suffix vide ensemble pour confirmer le rejet des deux vides. Gardez à l’esprit les sauts finaux volontaires : un LF final crée un dernier segment vide qui est entouré sauf si skip_empty vaut true. Les tâches en échec qui renvoient invalid_input ne consomment pas le solde prépayé, ce qui maintient bon marché la validation de formulaires et les tests négatifs de CI.
Cas d'intégration
Mettre une colonne entre guillemets pour JSON, CSV ou SQL
Collez une valeur par ligne et entourez chaque rangée de guillemets afin que la liste soit prête pour un fichier de configuration, un import de tableur ou une liste IN sans éditer à la main chaque rangée.
Baliser les lignes en HTML ou markdown
Transformez une liste de contrôle en balises d’élément de liste, ou préfixez des notes d’un marqueur de citation de bloc, tout en laissant vides les séparateurs blancs lorsque skip_empty est actif.
Questions techniques
Comment les lignes vides sont-elles traitées ?
Par défaut, une ligne vide devient prefix plus suffix. Mettez skip_empty à true pour laisser vides les lignes de longueur nulle afin que les séparateurs blancs restent blancs.