|
|
|
||||||||||||||||||||||
|
|||||||||||||||||||||||
|
|||||||||||||||||||||||
Parceiros - CSS para Web Design - S.O.S Designers - Slackware-Brasil - Crie seu Web site - Oficina da Net |
Criação de BBcode em PHPPara começar com a categoria PHP, vou ensinar-lhes como criar uma simples função para poder colocar BBcode que inclua a opção de por um texto em negrito, em cursiva, sublinhado, links e imagens. Veremos como realizar isto passo a passo. O primeiro é criar a função PHP sem incluir suas instruções.
<? function BBcode($texto){ // aqui irá o conteúdo da função return $texto; } ?> Para realizar isto vamos utilizar uma função muito básica em PHP, preg_replace(). De tal forma que se quisermos que quando em $texto apareçam as tags [b] e [/b] se convertam no HTML <b> e &lt;/b&gt; poderíamos fazê-lo da seguinte maneira: <? preg_replace("/\[b\](.*?)\[\/b\]/is","<b>$1</b>",$texto); ?> E assim poderíamos realizá-lo com todas as tags simples que desejarmos, porém como sempre há uma melhor opção e essa é utilizar um array para as expressões regulares (padrão) e outro para o texto de substituição: <? function BBcode($texto){ $a = array( "/\[i\](.*?)\[\/i\]/is", "/\[b\](.*?)\[\/b\]/is", "/\[u\](.*?)\[\/u\]/is" ); $b = array( "<i>$1</i>", "<b>$1</b>", "<u>$1</u>" ); $texto = preg_replace($a, $b, $texto); return $texto; } ?> Bem, já temos uma simples função para poder colocar texto em cursiva, negrito e riscado. Porém, o proposto é também colocar imagens e links, para as imagens é muito similar ao anterior, mas para os links é um pouco mais complicado. A função então ficaria da seguinte maneira: <? function BBcode($texto){ $a = array( "/\[i\](.*?)\[\/i\]/is", "/\[b\](.*?)\[\/b\]/is", "/\[u\](.*?)\[\/u\]/is", "/\[img\](.*?)\[\/img\]/is", "/\[url=(.*?)\](.*?)\[\/url\]/is" ); $b = array( "<i>$1</i>", "<b>$1</b>", "<u>$1</u>", "<img src=\"$1\" />", "<a href=\"$1\" target=\"_blank\">$2</a>" ); $texto = preg_replace($a, $b, $texto); return $texto; } ?> Agora também podemos adicionar à função alguma função extra como pode ser que o texto enviado em html não seja permitido e que este se mostre, isto se faz com a htmlentities() e também podemos agregar que as quebras de linha sejam convertidas automaticamente em <br /> con nl2br(), nossa função BBcode() final ficará da seguinte forma: <? function BBcode($texto){ $texto = htmlentities($texto); $a = array( "/\[i\](.*?)\[\/i\]/is", "/\[b\](.*?)\[\/b\]/is", "/\[u\](.*?)\[\/u\]/is", "/\[img\](.*?)\[\/img\]/is", "/\[url=(.*?)\](.*?)\[\/url\]/is" ); $b = array( "<i>$1</i>", "<b>$1</b>", "<u>$1</u>", "<img src=\"$1\" />", "<a href=\"$1\" target=\"_blank\">$2</a>" ); $texto = preg_replace($a, $b, $texto); $texto = nl2br($texto); return $texto; } ?>
Autoria e outras referências sobre este artigo Dentro deste artigo: + 1 manual relacionado + 1 categoria relacionada + 1 Comentário sem rever
Manuais relacionados com este artigo Dentro de Workshop de PHP Seguinte: Incluir feeds em sua web em 5 passos 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 PHPComentário sem rever
|
| Sobre nós | Copyright | Anuncie | Entrar em contato | <criarweb> |