Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.

Home ~ Php :: Funzione BBcode con gestione degli smiles :: Indice Php

Funzione BBcode con gestione degli smiles

Categoria: Php Inserito il: 17-04-2007 Stampa (8878 click)

La funzione per il BBcode che presentiamo in questo articolo è molto più evoluta di quella a cui abbiamo fatto riferimento qualche tempo fà. In questa sono previste nuove funzionalità: gestione dell'accapo, supporto dei più difffusi tag HTML , gestione degli smiles, ceazione di link ad immagini, sostituzione di URL con link e collegamento automatico degli indirizzi di posta elettronica al client predefinito.

Alla fine vengono anche proposti alcuni esempi di utilizzo con i quali il lettore potrà testare l'efficacia della funzione.

<?php
function bb($stringa)
  {
  $stringa = @nl2br($stringa);
  
  $stringa = @str_replace("[b]", "<b>", $stringa);
  $stringa = @str_replace("[/b]", "</b>", $stringa);
  $stringa = @str_replace("[u]", "<u>", $stringa);
  $stringa = @str_replace("[/u]", "</u>", $stringa);
  $stringa = @str_replace("[i]", "<i>", $stringa);
  $stringa = @str_replace("[/i]", "</i>", $stringa);
  
  $stringa = @str_replace("[center]", "<center>", $stringa);
  $stringa = @str_replace("[/center]", "</center>", $stringa);
  
  $stringa = @str_replace("[left]", "<left>", $stringa);
  $stringa = @str_replace("[/left]", "</left>", $stringa);
  
  $stringa = @str_replace("[right]", "<right>", $stringa);
  $stringa = @str_replace("[/right]", "</right>", $stringa);
  $stringa = @str_replace(" ", "&nbsp;&nbsp;", $stringa);
    
  $stringa = @str_replace(':)','<img src="http://www.sito.it/img/sr.gif""/>',$stringa);
  $stringa = @str_replace(';)','<img src="http://www.sito.it/img/oc.gif""/>',$stringa);
  $stringa = @str_replace(':P','<img src="http://www.sito.it/img/lg.gif""/>',$stringa);
  $stringa = @str_replace(':D','<img src="http://www.sito.it/img/rs.gif""/>',$stringa);
  //$stringa = @str_replace(
  //'...','<img src="http://www.sito.it/img/....gif""/>',$stringa);
  
  $pt = array();
  $sob = array();
  $pt[] = 
  "#\[img\](.*?)\[/img\]#si";
  $sob[] = "<img src=\"\\1\" border=\"0\" />";
  $pt[] = 
  "#\[url\]((www|ftp)\.([\w\-]+\.)*[\w]+(:[0-9]+)?(/[^ \"\n\r\t<]*?)?)\[/url\]#si";
  $sob[] = "<a href=\"http://\\1\">\\1</a>";
  $pt[] = 
  "#\[email\]([a-z0-9\-_.]+?@[\w\-]+\.([\w\-\.]+\.)?[\w]+)\[/email\]#si";
  $sob[] = "<a href=\"mailto:\\1\">\\1</A>";
  
  return @preg_replace($pt, $sob, $stringa);
  }

echo bb(
"[i]ciao[/i] <br> 
  [email]mail@sito.it[/email] <br>
  [url]www.sito.it[/url]
" 
  );
?>

Cerca nel sito
Per sito
Sviluppatore di applicazioni Web con competenze evolute nella progettazione delle basi di dati, autore per alcune delle pił importanti testate on line dedicate alla manualistica tecnica (HTML.it, MrWebmaster.it, Edit) e consulente per l'e-learning.
Tutte le categorie
Tutorial Random
Uno Shell Script per terminare i processi
Ultimamente ricevo spesso richieste di aiuto riguardo un problemino sulla creazione di script per Shell Linux da utilizzare per la... Leggi l'articolo
Corsi online per sviluppatori
Corsi per Webmaster, Web Designer, Programmatori, Grafici e Sistemisti