Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > Manuais > Workshop de PHP
SEÇÕES
Manuais relacionados
+Workshop de PHP
Categorias
+Scripts em PHP

Índice do Manual Workshop de PHP
+ Gestão de ficheiros através de PHP
+ Upload de ficheiros com PHP
+ Verificar a existência de uma URL
+ Leitura sequencial de ficheiros com PHP
+ Escritura em ficheiros com PHP
+ Gestão de directórios com PHP
+ Função que escreve um campo select com valores de uma base de dados
+ Receber o último ID de uma inserção com PHP e MySQL
+ Recolher dados de um Select Multiple com PHP
+ Enviar e-mails pelo PHP
+ Validar um endereço email em PHP
+ Loop para receber todas as variáveis por POST em PHP
+ Enviar um formulário por mail com PHP
+ Paginação de resultados com PHP e MySQL
+ Usuários ativos com PHP
+ Listas de elementos com cores alternas em PHP
+ Programas de livre distribuição em PHP
+ phpMyAdmin
+ Formatação de uma cadeia
+ Cálculo dos dias de um mês em PHP
+ Contador simples para páginas PHP
+ Avaliações dos usuários em PHP
+ Rastrear os robôs de buscadores
+ Recomendar um site usando PHP
+ Criação de um log de erros
+ Comprimir página PHP
+ Contador PHP com imagens
+ Editor PHP Maguma Studio
+ SiteMaps de Google em PHP
+ Teste de velocidade de conexão à Internet
+ Mostrar Conteúdo de acordo com o país em PHP
+ Conteúdos em banco de dados com PHP
+ Problemas com as datas em timestamp Unix de PHP
+ Contar o número de linhas e caracteres em arquivo PHP
+ Transformação Doc, Odt ou Rtf para PDF
+ Preencher um arquivo RTF e gerar o PDF
+ Converter arquivos ods ou xls para pdf
+ PHP isam, ferramenta Web para Arquivos Planos
+ Undefined variable ou Undefined index
+ Agregar carinhas ao sistema
+ Paginator, script para paginação com PHP e MySQL
+ Executar scripts PHP automaticamente através do cron com CURL
+ Uso do FTP com PHP
+ Instalação de One or Zero PHP Helpdesk
+ Portal PHP Nuke
+ Gerando feed RSS de notícias em PHP
+ Blasten blt-SEARCH 1.0.5
+ Classes e Objetos em PHP
+ Recuperando a qualidade de uma imagem JPEG
+ Comprovar se existe o domínio do correio
+ Tutorial de BBCode
+ Função em PHP para o cálculo de minutos transcorridos em duas horas dadas
+ Criação de gráficos em PHP com JpGraph
+ Gerar documentos de Word RTF com PHP
+ Introdução ao Symfony
+ Arredondar decimais em PHP
+ Envio de boletins a e-mails de um banco de dados MySQL
+ Htaccess e páginas dinâmicas
+ Criando imagens com PHP
+ Programar um buscador com PHP e MySQL
+ Loop para receber todos os dados de uma fila de um recordset com PHP
+ Criação de BBcode em PHP
+ Incluir feeds em sua web em 5 passos
+ Calcular dias entre duas datas com PHP
+ Exemplo de conexão com banco de dados Access em PHP
+ Utilizar Curl para copiar uma imagem de uma web em nosso disco rígido
+ Controle da saída em PHP
+ Controle de saída em PHP II
+ Mostrar código PHP de um arquivo com cores ressaltadas
+ Propagar o identificador de sessão de PHP por cookies ou URL

Descrição dos capítulos

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Tutorial de BBCode

Ensinamos a criar seu próprio BBCode com PHP.


Introdução

BBCode é uma implementação especial do HTML. Servirá para simplificar o código HTML de modo que nossos usuários possam utilizá-lo ao enviar notícias a nossa web, deixar suas mensagens em nosso fórum, etc. Usaremos em todo tipo de formulários nos que quisermos que o usuário possa inserir links, imagens, tabelas, imoticonos, etc. de forma simples e sem necessidade de ter conhecimentos sobre HTML.

O BBCode se utiliza de uma forma similar a linguagem HTML: Utilizam-se etiquetas entre colchetes da seguinte maneira: Usaremos [etiqueta] para abrir a etiqueta e [/etiqueta] para fechá-la.

Muitos conhecidos sistemas de fóruns e plataformas de gerenciamento de conteúdos web utilizam BBCode. Por exemplo phpBB ou SMF

Veremos o esquema de envio de texto + BBCode para incluir uma imagem. O usuário escreveria no textarea de um formulário:

[imagem]http://www.meu_servidor.com/minha_imagem.jpg[/imagem]


E ao enviá-la substituiríamos mediante uma função em PHP as etiquetas [imagem] e [/imagem] por código HTML, ficando da seguinte maneira:

<img src="http://www.meu_servidor.com/minha_imagem.jpg" />


Isto nos permite usar como quisermos as etiquetas. Se utilizamos um banco de dados podemos salvar as mensagens enviadas em modo texto e BBCode tal como foram redigidas e para mostrá-las utilizar uma função PHP para substituir o código BBCode pelo código HTML correspondente.

Criando nossos BBCodes com PHP

Definiremos as etiquetas BBCode que nós queremos com o código HTML que lhes corresponda e criaremos uma função com PHP para substituir os BBCodes escritos pelo usuário por código HTML. Utilizaremos a função STR_REPLACE() de PHP para substituir as etiquetas BBcode por HTML.

Primeiro, associaremos o código HTML a etiquetas elementares de BBCode mediante um array. Logicamente, vocês podem criar suas próprias etiquetas com o código HTML que quiserem:

<?php

$bb_code = array(
// emoticonos: deve apontar a suas imagens no código HTML
':)' => '<img src="feliz.gif" />',
':(' => '<img src="triste.gif" />',
':D' => '<img src="contente.gif" />',

// letra negrito
'[b]' => '<span style="font-weight:bold">',
'[/b]' => '</span>',

// letra cursiva
'[i]' => '<span style="font-style:italic">',
'[/i]' => '</span>',

// letra sublinhada
'[u]' => '<span style="text-decoration:underline">',
'[/u]' => '</span>',

// quebra de linha
'[quebra]' => '<br><br>',

// imagens
'[imagem]' => '<img src="',
'[/imagem]' => '" />'

// lembrem que depois do último elemento não há vírgula
);
?>


Agora utilizaremos uma função para substituir as etiquetas BBCode por código HTML:

<?php
function substituir( $codigo )
{
$search = array_keys( $GLOBALS['bb_code'] );
$codigo = str_replace( $search, $GLOBALS['bb_code'], $codigo );
return $codigo;
}
?>


Neste exemplo $codigo é a variável na que passaremos à função com o texto+BBCode que tiver escrito o usuário.

Agora vamos a ver o código completo pronto para ser provado que inclui os códigos anteriores com um texto+BBCode de exemplo:

<?php

// definimos nossas etiquetas
$bb_code = array(
// emoticonos: deve apontar a suas imagens no código HTML
':)' => '<img src="feliz.gif" />',
':(' => '<img src="triste.gif" />',
':D' => '<img src="contente.gif" />',

// letra negrito
'[b]' => '<span style="font-weight:bold">',
'[/b]' => '</span>',

// letra cursiva
'[i]' => '<span style="font-style:italic">', < '[/i]' => '</span>',

// letra sublinhada
'[u]' => '<span style="text-decoration:underline">',
'[/u]' => '</span>',

// quebra de linha
'[quebra]' => '<br><br>',

// imagens
'[imagem]' => '<img src="',
'[/imagem]' => '" />'

// lembrem que depois do último elemento não há vírgula
);

// Definimos nossa mensagem de prova
$mensagem = 'Esta palavra está em [b]negrito[/b] e [u]isto está sublinhado.[/u] '
.'[salto]Este é o logo de criarweb: [quebra]'
.'[imagem]http://www.criarweb.com/images/logo-criarweb.gif'
.'[/imagem]';

// Substituímos o BBCode pelo código HTML e o mostramos na página
echo '<p>'.substituir ( $mensagem ).'</p>';

// Incluímos a função para substituir o código
function substituir ( $codigo )
{
$search = array_keys( $GLOBALS['bb_code'] );
$codigo = str_replace( $search, $GLOBALS['bb_code'], $codigo );
return $codigo;
}
?>

Para trabalhar com formulários só temos que substituir $mensagem pelo valor enviado através do formulário. Por exemplo, colocaríamos um campo textarea chamado "mensagem" no formulário que apontará ao nosso script PHP e neste mudaríamos o valor de $mensagem por $HTTP_POST_VARS['mensagem']

Espero que este tutorial tenha sido de utilidade para muita gente.

Autoria e outras referências sobre este artigo

Manuais relacionados com este artigo
Dentro de Workshop de PHP

Categorias relacionadas
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo:
+ Entrar em Scripts em PHP


Comentários dos visitantes
Os comentários dos visitantes são para ampliar a informação do artigo. Todos podem participar.
Acrescentar um comentário do artigo Acrescentar um comentário do artigo



Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites