Relação de BBCodes para incrementar seu phpBB3.
  • Avatar do usuário
  • Avatar do usuário
  • Avatar do usuário
Avatar do usuário
By Chico Gois
Membership Days Avatar
#262196
Características:
- Quantas linhas tu quiser.
- Quantas colunas tu quiser.

Uso:
Código: Selecionar todos
- Separa-se as linhas com L= e as colunas com &

[tabela]
L=Nome&Nick&Sexo
L=Tiago&Sapporo&Masculino
L=Laura&Witch&Feminino
L=Cesar&Rasec&Masculino
[/tabela]
BBCode:
Código: Selecionar todos
[tabela]{TEXT}[/tabela]
HTML:
Código: Selecionar todos
<script language="Javascript">
var texto = '{TEXT}';
texto = texto.replace("\r\n","");
texto = texto.replace("<br>","");
texto = texto.replace(" ","");
var linha = new Array();
linha = texto.split('L=');
var table = '<div align="center"><TABLE width=70% cellpadding=1 cellspacing=1 border=0>';
for (var i=1; i<linha.length; i++)
{
  table = table + '<TR>';
  var coluna = new Array();
  coluna = linha[i].split('&');
  for (var j=0; j<coluna.length; j++)
  {
    if (i == 1)
    {
      table = table + '<TD align=center style="background: #FF8904; font-size:11px; color:black; font-family:  Verdana,Arial, Helvetica, sans-serif;"><b>' + coluna[j].replace("amp;","") + '</b></TD>';      
    }
    else
    {
      table = table + '<TD style="background: #878282; font-size:11px; color:white; font-family:  Verdana,Arial, Helvetica, sans-serif;">' + coluna[j].replace("amp;","") + '</TD>';      
    }

  }
  table = table + '<TR>';
}
table = table + '</TABLE></div>';
document.write(table);
</script>
Obs.:

O style pode ser alterado completamente.
O primeiro style se refere ao cabeçalho da tabela e o segundo a todas as outras linhas

Demo:
L=Nome&Nick&Sexo L=Tiago&Sapporo&Masculino L=Laura&Witch&Feminino L=Cesar&Rasec&Masculino
By ghs_
Posts
#262210
nossa super esse BBcode, era quase impossível fazer com HTML, com js fica muito bom, gostei
Avatar do usuário
By AndréFF
Posts Avatar
#262218
Pow, tava atrás disso a tempo.
Tenho um BBcode de tabelas mas ele não funciona direito. Essa dai ta 100%

VLW Chico ^^
By Again
Posts Avatar
#268264
Nossa este bbcode é essencial! obrigado por compartilhar.
By brunovescovi
Avatar
#282228
Bom dia, pessoal.

Fiz uma pequena alteração nesse BBcode adicionando a possibilidade de configurar a largura da tabela em porcentagem, e também três opções de estilo preconfiguradas. Mas com base nisso pode-se deixar configuráveis todos os itens que quiser seguindo o mesmo raciocínio.

BBCode:
Código: Selecionar todos
[tabela {INTTEXT1} {INTTEXT2}]{TEXT}[/tabela]
HTML:
Código: Selecionar todos
<script language="Javascript">
    var texto = '{TEXT}';
    texto = texto.replace("\r\n","");
    texto = texto.replace("<br>","");
    texto = texto.replace(" ","");
    var linha = new Array();
    linha = texto.split('L=');
    var largura = '70';
    if ( ! isNaN('{INTTEXT1}') ) {
        if ( parseInt({INTTEXT1},10) > 0 && parseInt({INTTEXT1},10) <=100 ) {
            largura = '{INTTEXT1}';
        }
    }
    var estilo = '';
    var alinhamento = 'left';
    if ( '{INTTEXT2}' == '1'  || '{INTTEXT2}' == '2' )
    {
        estilo = ' style="background: #e0e0e0; font-size:11px; color:black; font-family:  Verdana,Arial, Helvetica, sans-serif;"';
        alinhamento = 'center';
    }
    var table = '<div align="' + alinhamento + '"><TABLE width=' + largura + '% cellpadding=1 cellspacing=1 border=0>';
    for (var i=1; i<linha.length; i++)
    {
      table = table + '<TR>';
      var coluna = new Array();
      coluna = linha[i].split('&');
      for (var j=0; j<coluna.length; j++)
      {
        if (i == 1 && '{INTTEXT2}' == '1')
        {
          table = table + '<TD align=center style="background: #000080; font-size:11px; color:white; font-family:  Verdana,Arial, Helvetica, sans-serif;"><b>' + coluna[j].replace("amp;","") + '</b></TD>';     
        }
        else
        {
            if ( '{INTTEXT2}' == '2' && i % 2 == 1 ) {
                table = table + '<TD style="background: #d0d0d0; font-size:11px; color:black; font-family:  Verdana,Arial, Helvetica, sans-serif;">' + coluna[j].replace("amp;","") + '</TD>';
            } else {
                table = table + '<TD' + estilo + '>' + coluna[j].replace("amp;","") + '</TD>';
            }
        }

      }
      table = table + '<TR>';
    }
    table = table + '</TABLE></div>';
    document.write(table);
</script>
Parabéns ao autor desse BBcode. Muito bem bolado e bem automatizado.

A diferença no uso é que dentro dos colchetes da tag tabela deve haver mais duas informações. A primeira é um número, representando a porcentagem que vai definir a largura da tabela. O segundo valor de entrada é o número 0, 1 ou 2, representando o estilo escolhido.
Qualquer valor de porcentagem fora do intervalo entre 0 e 100 será aplicado 70%.
Qualquer valor de estilo a não ser 0, 1 ou 2, será considerado estilo 0.


As modificações estão abaixo. Vou usar os mesmos dados que o bbcode original para demonstrar as alterações.

=>Tabela 80% de largura, opção de layaout 0:
Uso das tags:
Código: Selecionar todos
[tabela 80 0]L=Nome&Nick&Sexo
L=Tiago&Sapporo&Masculino
L=Laura&Witch&Feminino
L=Cesar&Rasec&Masculino[/tabela]
Preview:
Imagem
Comentário:
Sem estilo. Para ser usado apenas como recurso de tabulação.
Essa opção coloca o alinhamento da tabela para a esquerda, e cada célula também para esquerda.


=> Tabela 80% de largura, opção de layout 1:
Uso das tags:
Código: Selecionar todos
[tabela 80 1]L=Nome&Nick&Sexo
L=Tiago&Sapporo&Masculino
L=Laura&Witch&Feminino
L=Cesar&Rasec&Masculino[/tabela]
Preview:
Imagem
Comentário:
Estilo de cabeçalho. Apenas a primeira linha é centralizada e ressaltada.
Essa opção coloca o alinhamento da tabela para o centro, e cada célula das demais linhas para a esquerda.


=> Tabela 80% de largura, opção de layout 2:
Uso das tags:
Código: Selecionar todos
[tabela 80 2]L=Nome&Nick&Sexo
L=Tiago&Sapporo&Masculino
L=Laura&Witch&Feminino
L=Cesar&Rasec&Masculino[/tabela]
Preview:
Imagem
Comentário:
Estilo de lista. Tabelas gerais sem cabeçalho, diferenciada por cores diferentes entre linhas.
Essa opção coloca o alinhamento da tabela para o centro, e cada célula também para a esquerda.


É minha primeira participação no fórum. Espero ter contribuído em retribuição ao conteúdo valioso que encontrei aqui neste fórum.
Se alguém tiver qualquer sugestão ou correção, fique à vontade para fazê-lo.

Um abraço.
By brunovescovi
Avatar
#282229
Bom dia, pessoal.

Uma correção.

Alterei o caracter de separação das colunas pois fazia conflito quando inseria urls dentro das colunas, porque algumas urls usam o caracter &. Fiz alteração para usar o caracter § como separador entre colunas. O resto está igual.

HTML:
Código: Selecionar todos
    <script language="Javascript">
        var texto = '{TEXT}';
        texto = texto.replace("\r\n","");
        texto = texto.replace("<br>","");
        texto = texto.replace(" ","");
        var linha = new Array();
        linha = texto.split('L=');
        var largura = '70';
        if ( ! isNaN('{INTTEXT1}') ) {
            if ( parseInt({INTTEXT1},10) > 0 && parseInt({INTTEXT1},10) <=100 ) {
                largura = '{INTTEXT1}';
            }
        }
        var estilo = '';
        var alinhamento = 'left';
        if ( '{INTTEXT2}' == '1'  || '{INTTEXT2}' == '2' )
        {
            estilo = ' style="background: #e0e0e0; font-size:11px; color:black; font-family:  Verdana,Arial, Helvetica, sans-serif;"';
            alinhamento = 'center';
        }
        var table = '<div align="' + alinhamento + '"><TABLE width=' + largura + '% cellpadding=1 cellspacing=1 border=0>';
        for (var i=1; i<linha.length; i++)
        {
          table = table + '<TR>';
          var coluna = new Array();
          coluna = linha[i].split('§');
          for (var j=0; j<coluna.length; j++)
          {
            if (i == 1 && '{INTTEXT2}' == '1')
            {
              table = table + '<TD align=center style="background: #000080; font-size:11px; color:white; font-family:  Verdana,Arial, Helvetica, sans-serif;"><b>' + coluna[j].replace("amp;","") + '</b></TD>';     
            }
            else
            {
                if ( '{INTTEXT2}' == '2' && i % 2 == 1 ) {
                    table = table + '<TD style="background: #d0d0d0; font-size:11px; color:black; font-family:  Verdana,Arial, Helvetica, sans-serif;">' + coluna[j].replace("amp;","") + '</TD>';
                } else {
                    table = table + '<TD' + estilo + '>' + coluna[j].replace("amp;","") + '</TD>';
                }
            }

          }
          table = table + '<TR>';
        }
        table = table + '</TABLE></div>';
        document.write(table);
    </script>
Um abraço.
By robra
#282230
Beleza.
Obrigado por compartilhar.

Abraço. Imagem
By kknd
#287754
ficou otimo, porém não da espaço pra nego meter um javascript injection no post ????
By brunovescovi
Avatar
#287755
Bom dia, pessoal.
kknd escreveu:ficou otimo, porém não da espaço pra nego meter um javascript injection no post ????
Creio que não, porque as tags html, estilos, javascript e afins não são interpretados no campo de edição do fórum.
Alguém pode até escrever código javascript, mas não será considerado como script, e sim como texto comum e sairá no post assim como foi escrito.

Um abraço.
Avatar do usuário
By jhugor
Posts Avatar
#295253
ola amigos, venho buscando uma solução para a questao de inserção de tabela em postagens atraves de bbcode a um bom tempo

uso o phpbb3.2

fiquei muito feliz quando vi este codigo aqui, porém, nenhum deles funcionou pra mim!

alguém poderia me dar alguma ideia?

muito obrigado

Ola amigos, estou com a att 2.3.8 e venho informar[…]

Acesso via celular

Eu consegui acessar usando o Firefox. Deve ser mes[…]

Que eu saiba não tem

Eu gostava muito deste aqui https://www.coffeecup.[…]