Normaliser les points de suspension et trois points
Les formes de points de suspension se mélangent souvent lorsqu’un texte passe par des éditeurs, des systèmes de contenu, des documents copiés et des outils de publication.
Lancer gratuitement
Cette capacité uniformise ces marques d’omission sans modifier les autres signes. Vous choisissez de remplacer chaque suite de trois points consécutifs par le caractère Unicode unique, ou de développer chaque caractère de suspension en trois points ordinaires. La conversion est déterministe, conserve exactement les mots et les espaces voisins et indique le nombre de remplacements. Elle convient ainsi à une correction ponctuelle comme à des chaînes répétables de traitement de texte.
Choisissez la forme attendue à destination
Une ellipse typographique possède deux représentations courantes : trois caractères point, <code>...</code>, ou un caractère Unicode unique, <code>…</code>. Leur apparence peut sembler identique dans un paragraphe, mais les données diffèrent. Les moteurs de recherche, limites de caractères, règles typographiques et validateurs peuvent donc les traiter autrement. Sélectionnez <code>periods_to_ellipsis</code> si une publication, un système de conception ou une charte demande le caractère Unicode compact. Sélectionnez <code>ellipsis_to_periods</code> si un format texte, un système ancien, une convention de code source ou un jeu de caractères restreint exige la ponctuation ASCII. Le premier mode est sélectionné par défaut. La direction choisie s’applique à tout le texte fourni, y compris à plusieurs occurrences sur une même ligne ou sur plusieurs lignes. Les mots, espaces, guillemets et tous les signes autres que la forme ciblée restent inchangés : l’opération demeure précise et prévisible, sans devenir une révision éditoriale générale.
Sachez précisément ce qui est remplacé
En mode <code>periods_to_ellipsis</code>, chaque suite non chevauchante de trois points consécutifs rencontrée pendant le parcours devient un caractère de suspension. Six points produisent donc deux caractères, tandis qu’un ou deux points restent intacts. En mode <code>ellipsis_to_periods</code>, chaque caractère Unicode de suspension devient trois points. L’outil ne cherche pas à déterminer si la ponctuation exprime une hésitation, une citation abrégée, une ligne pointillée ou une faute de frappe : il réalise la conversion explicite que vous avez demandée. Il n’ajoute et ne retire aucun espace, car les conventions varient selon les styles et les langues, alors que cette capacité uniformise uniquement la représentation. La réponse contient le texte converti, le nom canonique du mode et le nombre de remplacements. Une valeur nulle est valable et signifie que la source ne contenait pas la forme visée. Ce compteur permet de repérer les enregistrements modifiés sans comparer des documents entiers.
Intégrez la normalisation sans risque
Pour un passage isolé, collez le texte, choisissez la direction voulue et contrôlez le résultat avant de l’insérer dans la mise en page. Dans un traitement automatisé, appelez la même opération juste après l’importation ou avant l’exportation, afin que chaque document franchisse une frontière de normalisation claire. L’application d’un style déclaré à une étape stable empêche les éditeurs et moteurs de rendu de réintroduire un mélange. La transformation est idempotente dans une direction donnée : relancer <code>periods_to_ellipsis</code> sur son propre résultat ne change plus rien, tout comme <code>ellipsis_to_periods</code>. Une inversion ultérieure modifiera cependant toutes les marques correspondantes, et pas uniquement celles créées auparavant, car le texte brut ne mémorise pas leur origine. L’algorithme n’utilise ni réseau, ni modèle, ni hasard, ni horloge ; les mêmes entrées produisent toujours les mêmes sorties. Le navigateur facilite les corrections manuelles, tandis que chaque requête API coûte $0.002 et convient aux publications, migrations, corrections et importations par lots.
Cas d’usage
Appliquer une charte éditoriale
Transformez les suites disparates de trois points en caractère dédié avant la mise en page et la relecture.
Préparer un système limité à l’ASCII
Développez les caractères Unicode en points ordinaires avant l’envoi vers un système ancien ou restreint.
Uniformiser le contenu importé
Appliquez une règle prévisible aux données issues d’éditeurs, de documents, de flux et de systèmes de contenu.
Questions fréquentes
Quel est le prix de cette capacité ?
Chaque requête API coûte $0.002. Vous pouvez aussi exécuter la version navigateur sur cette page.
Modifie-t-elle les espaces autour du signe ?
Non. Seuls les caractères ciblés changent ; les espaces voisins sont conservés exactement.
Que deviennent six points consécutifs ?
Dans le mode allant des points au caractère, le parcours non chevauchant les transforme en deux caractères de suspension.
Les points isolés ou les nombres décimaux changent-ils ?
Un ou deux points restent intacts. Dans le sens par défaut, seule une suite de trois points est ciblée.
Peut-on répéter la même conversion sans risque ?
Oui. La sortie uniformisée ne contient plus le motif source de ce mode ; une deuxième exécution effectue donc zéro remplacement.
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/normalize-ellipsis \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"Wait... is that all?"}'const res = await fetch("https://api.kit.forhosting.com/str/normalize-ellipsis", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "Wait... is that all?"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/str/normalize-ellipsis",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "Wait... is that all?"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/str/normalize-ellipsis", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"Wait... is that all?"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"Wait... is that all?"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/str/normalize-ellipsis", 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": "Wait... is that all?"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "str.normalize_ellipsis",
"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.
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. |