piapia123
es

Convertidor de UBB y HTML

Texto

Todo se ejecuta en tu navegador: no se sube nada

Entrada
Arrastra un archivo aquí para cargarlo
Resultado

Convierte código de foro —UBB, el dialecto `[b]` `[url]` `[img]` que usan Discuz! y sus parientes— a HTML, o al revés. El anidamiento es lo que importa: `[b]negrita[i]cursiva[/i]sigue negrita[/b]` tiene que producir etiquetas bien anidadas, y un conversor hecho a base de buscar y reemplazar no puede —solo una pila sabe a qué `[i]` pertenece cada `[/i]`, así que las herramientas de sustitución emiten etiquetas cruzadas que el navegador tiene que adivinar—. Tres decisiones más: las etiquetas que no se reconocen se conservan tal cual (`[hide]` y `[attach]` son extensiones de cada foro, y descartarlas borra en silencio el formato del usuario), los enlaces `javascript:` nunca se convierten en `<a>` clicables (la salida va a un foro: eso es un punto de entrada XSS), y los `<` y `&` del cuerpo se escapan (si no, «1 < 2» se vuelve una etiqueta mal formada que desvía todo lo que viene después).

Funciones

  • Etiquetas en línea: negrita, cursiva, subrayado, tachado, color, tamaño, fuente y alineación
  • Las dos formas de enlace ([url]dirección[/url] y [url=dirección]texto[/url]), además de correo e imágenes
  • Citas (incluida la atribución [quote=nombre]), bloques de código y listas ordenadas y desordenadas
  • Anidamiento cerrado en el orden correcto — lo que un conversor de buscar y reemplazar no puede hacer
  • Las etiquetas sin cerrar se cierran al final, y las de cierre sobrantes se tratan como texto normal
  • Los nombres de etiqueta no distinguen mayúsculas: [B] es lo mismo que [b]
  • Los tamaños se mapean por la escala 1–7 de Discuz en vez de volverse font-size: 7px
  • Los corchetes dentro de un bloque [code] no se tocan — eso es el código mismo
  • Las etiquetas desconocidas sobreviven intactas, así que el formato del usuario no desaparece
  • Los enlaces javascript: se degradan a texto plano en vez de producir un <a> clicable
  • La dirección HTML → UBB cubre párrafos, listas, citas, bloques de código y formato en línea
  • Todo se ejecuta localmente en el navegador; tu contenido nunca se sube

Cómo se usa

  1. Pega el código de foro o el HTML
  2. La dirección normalmente no hay que elegirla — si empieza por < se lee como HTML
  3. Desactiva la opción de saltos de línea si lo necesitas
  4. Copia el resultado

Preguntas frecuentes

¿Por qué el anidamiento necesita una pila?
Porque qué `[i]` cierra cada `[/i]` solo se sabe viendo la secuencia completa de etiquetas. Un conversor que va buscando y reemplazando paso a paso convierte `[b]negrita[i]cursiva[/i]sigue negrita[/b]` en etiquetas cruzadas (`<strong>negrita<em>cursiva</strong>sigue negrita</em>`), y deja al navegador adivinar cómo repararlo. Ese tipo de error no lanza nada: la página simplemente se ve mal. Por eso aquí se recorre una vez con una pila, apilando y desapilando, y se cierra lo que quede abierto al final.
¿Qué pasa con las etiquetas que no reconoce?
Se conservan exactamente tal cual: ni se convierten ni se eliminan. `[hide]` (ver respondiendo), `[attach]` (adjuntos) y `[media]` (video) son extensiones de cada foro sin equivalente fuera de Discuz, y la herramienta no tiene forma de saber en qué deberían convertirse. Conservarlas hace que el usuario vea de un vistazo que algo no se convirtió; borrarlas le devuelve un mensaje al que le faltan trozos, que nada en pantalla revela.
¿Por qué algunos enlaces no se convirtieron en enlaces?
Porque su esquema es `javascript:`, `data:` o similar. La salida va a un foro o un blog, donde un enlace `javascript:` clicable es un punto de entrada XSS. Esta herramienta solo deja pasar http, https, ftp, mailto, tel y similares, conservando el texto y sin emitir ningún `<a>` para lo demás.
¿Cuántos píxeles son [size=5]?
Los tamaños de Discuz son una escala de 1 a 7, no valores en píxeles; tomar el número como píxeles da `font-size: 7px`, que no se puede leer. Aquí se mapean por los valores que las plantillas de Discuz usan de verdad: 1→12px, 3→16px (el predeterminado), 5→24px, 7→48px. Un paso desconocido cae a 16px.
¿Los saltos de línea deberían volverse br?
La convención del foro es que un salto de línea es un salto de línea, así que viene activado. Pero algunos sitios ya renderizan con `white-space: pre-wrap`, y ahí un `<br>` de más duplica cada línea en blanco. Si el espaciado te parece demasiado amplio tras pegar, desactiva la opción.
¿Se sube mi contenido?
No. La conversión ocurre por completo en la memoria del navegador; la página no hace ninguna petición y funciona sin conexión.

Herramientas relacionadas