Convertire BBCode in HTML
Questo convertitore da BBCode a HTML trasforma un insieme pratico di tag di formattazione tipici dei forum in HTML prevedibile.
Esegui gratis nel browser
Incolli un testo contenente grassetto, corsivo, sottolineato, URL, citazioni o elenchi e ottenga una stringa HTML pronta per un uso controllato in una pagina o in un flusso editoriale. I tag riconosciuti possono essere annidati, i comuni caratteri HTML vengono sottoposti a escape e gli annidamenti errati sono segnalati invece di produrre silenziosamente codice difettoso. La conversione è deterministica, non richiede accesso alla rete e restituisce sempre lo stesso risultato per lo stesso input.
Converta i tag BBCode supportati
Il convertitore riconosce sei famiglie comuni di BBCode: <code>[b]</code>, <code>[i]</code>, <code>[u]</code>, <code>[url]</code>, <code>[quote]</code> e <code>[list]</code>. Il grassetto diventa <code><strong></code>, il corsivo <code><em></code>, il sottolineato <code><u></code>, le citazioni <code><blockquote></code> e gli elenchi diventano liste HTML non ordinate con i relativi elementi. Un link può usare <code>[url=https://example.com]etichetta[/url]</code> oppure <code>[url]https://example.com[/url]</code>. Gli elementi iniziano con <code>[*]</code> all’interno di un elenco. I tag possono essere annidati se vengono chiusi nell’ordine inverso rispetto all’apertura; un testo in grassetto può quindi contenere del corsivo. I tag esterni all’insieme supportato vengono conservati come testo sottoposto a escape, anziché essere interpretati come HTML. Questo contratto ristretto rende il risultato facile da comprendere ed evita di simulare il supporto per le numerose estensioni incompatibili adottate dai diversi forum. Se la sorgente utilizza tag personalizzati per colore, dimensione, immagini, tabelle o contenuti multimediali, li gestisca separatamente con regole adatte alla piattaforma di provenienza.
Comprenda la convalida e la sicurezza dell’output
Il BBCode riconosciuto deve essere strutturalmente bilanciato. Ogni tag di formattazione aperto richiede il corrispondente tag di chiusura, i tag annidati devono chiudersi nell’ordine opposto a quello di apertura e i marcatori degli elementi devono trovarsi direttamente all’interno di un elenco. Una sequenza errata restituisce un errore di input non valido invece di un documento parziale. Ciò è importante nella pubblicazione automatizzata, perché una correzione silenziosa potrebbe spostare enfasi, link o citazioni oltre i limiti previsti dall’autore. Durante il rendering viene eseguito l’escape HTML del testo semplice, comprese parentesi angolari e e commerciali, mentre le destinazioni dei link vengono protette per l’uso negli attributi. Gli schemi URL espliciti sono limitati a HTTP, HTTPS e mailto; sono ammessi anche frammenti e destinazioni relative. Il controllo impedisce che un link BBCode diventi un evidente URL di script, ma l’output deve comunque rispettare le politiche di sicurezza e contenuto dell’applicazione che lo incorpora. Il convertitore trasforma la sintassi; non sostituisce un sanitizzatore HTML, un sistema di autorizzazioni o la moderazione.
Utilizzi il risultato in un flusso editoriale
Invii un valore <code>text</code> e legga il codice convertito nel campo <code>html</code> restituito. Questa struttura semplice funziona bene in script di migrazione, esportazioni di forum, pipeline di commenti, importazioni di basi di conoscenza e dati di test. Prima di convertire un archivio esteso, esamini alcuni record della piattaforma sorgente, perché i dialetti BBCode differiscono: alcuni usano argomenti per elenchi numerati, attribuzioni speciali nelle citazioni o tag multimediali proprietari intenzionalmente esclusi da questa capacità. Conservi il BBCode originale insieme al risultato finché la migrazione non è stata verificata, così da poter regolare la pre-elaborazione senza perdere informazioni. In un editor interattivo, mostri l’errore relativo al tag sbilanciato vicino al contenuto invece di eliminarne la formattazione. In un’importazione in batch, registri l’elemento non riuscito e prosegua secondo la propria politica. La conversione tramite API costa $0.002 per elemento. Poiché non intervengono rete, orologio, casualità o servizi esterni, lo stesso input accettato produce HTML equivalente byte per byte in ogni esecuzione.
Casi d'uso
Migrare messaggi di forum
Converta la formattazione supportata dei messaggi esportati prima di importare i contenuti in un sistema editoriale basato su HTML.
Visualizzare vecchi commenti
Generi un’anteprima HTML prevedibile per commenti archiviati con BBCode comune e segnali all’editor gli annidamenti errati.
Normalizzare una base di conoscenza
Trasformi grassetto, link, citazioni ed elenchi in un sottoinsieme HTML coerente durante una migrazione documentale.
Domande frequenti
Quali tag BBCode sono supportati?
Sono supportati b, i, u, url, quote e list. Gli elementi degli elenchi usano [*]. Gli altri tag restano testo sottoposto a escape.
Che cosa accade se i tag sono sbilanciati?
La richiesta non riesce e restituisce un errore di input non valido che identifica il tag sbilanciato o annidato in modo errato.
Posso fornire un’etichetta per un link?
Sì. Usi [url=https://example.com]etichetta[/url]. Può anche inserire la destinazione tra [url] e [/url].
La conversione elimina ogni possibile rischio HTML?
No. Testo e attributi vengono protetti e gli schemi URL espliciti pericolosi sono rifiutati, ma l’applicazione deve applicare le proprie politiche di sicurezza e il proprio sanitizzatore quando necessario.
Quanto costa una conversione?
Ogni richiesta API costa $0.002 per elemento.
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/text/bbcode-to-html \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"[b]Important[/b]: visit [url=https://example.com]our site[/url]."}'const res = await fetch("https://api.kit.forhosting.com/text/bbcode-to-html", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"text": "[b]Important[/b]: visit [url=https://example.com]our site[/url]."
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/text/bbcode-to-html",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"text": "[b]Important[/b]: visit [url=https://example.com]our site[/url]."
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/text/bbcode-to-html", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"text":"[b]Important[/b]: visit [url=https://example.com]our site[/url]."}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"text":"[b]Important[/b]: visit [url=https://example.com]our site[/url]."}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/text/bbcode-to-html", 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": "[b]Important[/b]: visit [url=https://example.com]our site[/url]."
}Esempio di risposta
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "text.bbcode_to_html",
"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 | 200000 |
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. |