Tabela

Relação de BBCodes para incrementar seu phpBB3.
Avatar do usuário
Chico Gois
Administrador
Administrador
Mensagens: 3623
Registrado em: 03 Jul 2004, 03:53
Nome Real: Chico Gois
Localização: São Paulo - Capital
Contact:

Tabela

Mensagem por Chico Gois »

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
ghs_
Novato
Novato
Mensagens: 11
Registrado em: 25 Abr 2010, 11:53

Re: Tabela

Mensagem por ghs_ »

nossa super esse BBcode, era quase impossível fazer com HTML, com js fica muito bom, gostei
Avatar do usuário
AndréFF
Membro Recente
Membro Recente
Mensagens: 307
Registrado em: 24 Mar 2006, 23:52
Localização: phpBB_users
Contact:

Re: Tabela

Mensagem por AndréFF »

Pow, tava atrás disso a tempo.
Tenho um BBcode de tabelas mas ele não funciona direito. Essa dai ta 100%

VLW Chico ^^
Again
Membro Recente
Membro Recente
Mensagens: 243
Registrado em: 01 Out 2010, 16:44

Re: Tabela

Mensagem por Again »

Nossa este bbcode é essencial! obrigado por compartilhar.
brunovescovi
Novato
Novato
Mensagens: 3
Registrado em: 31 Jul 2012, 23:50

Re: Tabela

Mensagem por brunovescovi »

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.
brunovescovi
Novato
Novato
Mensagens: 3
Registrado em: 31 Jul 2012, 23:50

Re: Tabela

Mensagem por brunovescovi »

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.
Avatar do usuário
robra
Membro Sênior
Membro Sênior
Mensagens: 6065
Registrado em: 02 Dez 2010, 22:29

Re: Tabela

Mensagem por robra »

Beleza.
Obrigado por compartilhar.

Abraço. Imagem
[DICA] Antes de abrir um Novo Tópico, procure saber se a sua dúvida já foi respondida. Pesquise no Google por palavras(em inglês também) relacionadas à ela, somado à palavra "phpbb".
kknd
Novato
Novato
Mensagens: 6
Registrado em: 29 Abr 2011, 15:31

Re: Tabela

Mensagem por kknd »

ficou otimo, porém não da espaço pra nego meter um javascript injection no post ????
brunovescovi
Novato
Novato
Mensagens: 3
Registrado em: 31 Jul 2012, 23:50

Re: Tabela

Mensagem por brunovescovi »

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
jhugor
Novato
Novato
Mensagens: 80
Registrado em: 12 Jun 2016, 00:06

Re: Tabela

Mensagem por jhugor »

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
Responder