BBCode para HTML

5 de 2 avaliações

O BBCode para HTML é uma ferramenta gratuita que converte excertos de BBCode em HTML não processado, para utilização fora dos editores de fóruns.

Que problema resolve a conversão de BBCode?

A conversão de BBCode transforma a marcação usada em fóruns em HTML que os navegadores, os sistemas de gestão de conteúdos e os modelos Web conseguem interpretar. Em vez de elementos HTML, o BBCode utiliza etiquetas entre parênteses retos, como [b], [i] e [url].

É útil para migrar publicações de um fórum, depurar conteúdos devolvidos por uma API de terceiros ou preparar uma base de conhecimento antiga para uma plataforma que aceite HTML, mas não BBCode. Também pode ajudar antes da implementação, quando é necessário verificar o texto importado separadamente do código da aplicação em que será integrado.

O BBCode não é uma linguagem formalmente normalizada. Os sistemas de fóruns e os plug-ins podem definir as suas próprias etiquetas, atributos e regras de aninhamento. Por isso, uma conversão que funcione com a formatação mais comum pode exigir ajustes quando a origem inclui elementos específicos da plataforma, como caixas de spoilers, referências a anexos ou etiquetas de multimédia personalizadas.

Como converto BBCode em HTML?

Introduz ou cola a marcação original no campo BBCode e consulta o código convertido no campo HTML. Só deves copiar esse HTML para o destino depois de confirmares que os elementos e as ligações correspondem ao conteúdo pretendido.

  1. Copia o excerto de BBCode completo, incluindo as etiquetas de abertura e de fecho.
  2. Coloca-o no campo BBCode sem substituir os parênteses retos.
  3. Examina o resultado não processado no campo HTML.
  4. Compara as ligações, as imagens, as listas e a formatação aninhada com a publicação original.
  5. Sanitiza os resultados de fontes não fidedignas antes de os apresentares numa página pública.

A conversão é efetuada no servidor. Os dados introduzidos são enviados para o servidor através de HTTPS e não são armazenados.

Como devo interpretar o HTML devolvido?

Lê o resultado como código-fonte, não como uma pré-visualização. O HTML devolvido deve conter elementos que representem a estrutura e a formatação definidas no BBCode original.

Um exemplo conceptual simples:

Entrada BBCode: [b]Release note[/b]

Saída HTML: um elemento HTML de negrito ou de destaque forte que contém o texto "Release note".

Outro padrão comum:

Entrada BBCode: [url=https://example.org/docs]Read the docs[/url]

Saída HTML: um elemento de âncora cujo destino é https://example.org/docs e cujo texto visível é "Read the docs".

Os nomes exatos dos elementos podem variar entre conversores, porque os dialetos de BBCode não são normalizados. Por exemplo, o texto a negrito pode ser representado por um elemento b, que chama a atenção sem transmitir uma importância acrescida, ou por um elemento strong, que indica uma importância forte. Verifica o valor apresentado no campo HTML em vez de partires do princípio de que será usada uma correspondência específica.

Esta ferramenta é um conversor, não substitui um validador de HTML nem um sanitizador de segurança. Se aparecer BBCode literal inesperado, conteúdo em falta ou elementos com um aninhamento estranho, é provável que a origem contenha sintaxe inválida ou não suportada. Entre os problemas mais comuns estão etiquetas por fechar, etiquetas de fecho pela ordem errada, atributos inválidos e etiquetas específicas de um fórum sem equivalente geral em HTML.

Entradas problemáticas e diferenças entre dialetos

Os espaços, a pontuação, os números, as letras acentuadas e os sistemas de escrita não latinos são texto normal, exceto quando aparecem na sintaxe das etiquetas ou nos atributos. Devem manter-se como conteúdo, sem serem transformados em marcação separada. Os URLs exigem mais atenção: os caracteres que fazem parte do URL, como os espaços, podem ter de ser codificados por percentagem, enquanto os caracteres com significado especial na sintaxe do atributo HTML circundante, como os e comerciais e as aspas, podem ter de ser escapados em HTML.

  • Aninhamento incorreto: [b][i]Text[/b][/i] fecha as etiquetas pela ordem errada. Numa marcação corretamente aninhada, a etiqueta interior é fechada primeiro.
  • Etiquetas de fecho em falta: [quote]Text não tem uma etiqueta de fecho correspondente quando a etiqueta final é omitida.
  • Etiquetas personalizadas: [spoiler], [video] e as etiquetas de anexos podem ter significados diferentes consoante o software do fórum.
  • HTML existente: dependendo do analisador, o HTML misturado com BBCode pode ser escapado, mantido ou tratado como texto. Examina-o com atenção em vez de confiares numa regra universal.
  • Entradas muito extensas: geralmente, é mais fácil processar migrações de grande dimensão por lotes, para que os registos com erros possam ser identificados e corrigidos.

Uma entrada vazia não tem qualquer estrutura de formatação para converter. Se a origem for texto simples sem etiquetas BBCode, a conversão poderá ter pouca utilidade. Ainda assim, o processamento posterior do HTML poderá ter de escapar caracteres como <, > e &.

Quando é que não vale a pena fazer a conversão?

Não vale a pena converter o conteúdo se este só for lido por um sistema que já compreende o dialeto de BBCode original. A mudança de formato acrescenta uma etapa de transformação e pode eliminar comportamentos personalizados do fórum.

A conversão também é desnecessária quando um sistema armazena o BBCode sem alterações para ser apresentado mais tarde pelo mesmo motor do fórum. Do mesmo modo, formatar ou reorganizar manualmente o HTML gerado tem pouca utilidade quando apenas uma máquina o vai ler, exceto se essa formatação for necessária para rever alterações num sistema de controlo de versões ou para depuração.

Nas migrações em massa, um analisador executado por script pode ser mais adequado, pois permite aplicar as mesmas regras de dialeto a todos os registos e guardar um registo das falhas. Utilizar apenas expressões regulares é arriscado quando a marcação está aninhada. Usa um analisador que compreenda aninhamento, atributos e entradas inválidas. Depois, valida e sanitiza separadamente o HTML resultante. Se o conteúdo convertido incluir uma configuração JSON incorporada, um Validador e embelezador de JSON pode ajudar a examinar esses dados, mas não valida o HTML circundante.

Perguntas frequentes

É seguro publicar diretamente o BBCode convertido?

Não. O HTML gerado a partir de publicações de fóruns não fidedignas deve passar por um sanitizador de HTML baseado numa lista de elementos permitidos antes de ser apresentado. Isto é especialmente importante para ligações, imagens, conteúdos multimédia incorporados e qualquer origem que já possa incluir texto semelhante a HTML.

As quebras de linha são convertidas em parágrafos HTML?

O tratamento das quebras de linha depende do analisador de BBCode e das regras da plataforma de origem. Alguns sistemas interpretam as linhas em branco como parágrafos, enquanto outros inserem elementos de quebra de linha ou mantêm os espaços em branco simples. Antes de migrares uma coleção extensa, compara uma amostra com várias linhas com a apresentação no fórum original.

O BBCode suporta caracteres Unicode?

O BBCode pode conter texto Unicode, incluindo caracteres acentuados, emojis e sistemas de escrita não latinos, porque esses caracteres fazem parte do conteúdo e não da sintaxe das etiquetas. A página de destino também deve utilizar uma codificação de caracteres adequada, normalmente UTF-8. Caso contrário, o texto poderá ser apresentado incorretamente após a conversão.

Posso converter BBCode dentro de uma exportação CSV ou de uma base de dados?

Converte os valores dos campos, não o ficheiro de exportação completo. As aspas e os delimitadores do CSV, bem como as sequências de escape da base de dados, pertencem ao formato que contém os dados e podem ficar danificados se passarem por um conversor de marcação. Guarda uma cópia de segurança sem alterações e processa um pequeno lote antes de aplicares a conversão a todas as linhas.

O que devo verificar antes de importar o HTML?

Verifica uma amostra que inclua formatação aninhada, uma ligação, uma lista, uma referência a uma imagem e todas as etiquetas personalizadas usadas pelo fórum de origem. Confirma que o destino aceita esses elementos e atributos HTML. Depois, executa a etapa de sanitização ou validação exigida antes de efetuares a importação completa.

Ferramentas Populares