Relação de BBCodes para incrementar seu phpBB3.
  • Avatar do usuário
  • 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.
Avatar do usuário
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
email em massa

Vc usa SMTP? Não.

Erro nas mensagens

Não houve jeito mesmo, só com a at[…]

Quem aqui também já tem a versão 3.2.8?

Dia pessoal... Hoje ao fazer uma alteraç&[…]

erro ao banir usuario

Que esquisito, post_id sempre foi presente no phpB[…]