20/02/2007
BBcode (Bulletin Board Code) è un diffuso sistema per dare la possilibità a coloro che compilano form, scrivono
commenti o inseriscono articoli in pagine web di aggiungere tag HTML senza dover agire direttamente sul codice. Gli
esempi più classici sono i moduli per gli interventi sui forum di discussione e i pannelli di controllo a
disposizione degli utenti che scrivono sui blog.
In questo breve tutorial, vedremo un semplice esempio di funzione utilizzabile per dotare le nostre pagine di
BBcode, essa metterà a disposizione degli utenti alcuni semplici codici con i quali indicare
all'interno di un testo la presenza di tags per la formattazione.
Ecco di seguito il codice della nostra funzione:
<? function bBcode($str) { $bb = @array( '/\[b\](.*?)\[\/b\]/is', '/\[i\](.*?)\[\/i\]/is', '/\[u\](.*?)\[\/u\]/is', '/\[img\](.*?)\[\/img\]/is', '/\[url\](.*?)\[\/url\]/is', '/\[url\=(.*?)\](.*?)\[\/url\]/is' ); $out = @array( '<b>$1</b>', '<i>$1</i>', '<u>$1</u>', '<img src="$1" />', '<a href="$1">$1</a>', '<a href="$1">$l</a>' ); $str = @preg_replace ($bb, $out, $str); return $str; } ?>Il listato consta di due array, in uno vi sono i caratteri da sostituire con i tags (ad esempio [i] per <i>, corsivo, o [b] per <b>, grasseto); nell'altro vi sono i tags che sostituiranno i caratteri. Il tutto poggia sulla semplice funzione preg_replace() che esegue la ricerca di una sottostringa in una stringa e la sostituisce con una seconda sottostringa indicata.
<? @require 'funzione.php'; $stringa = "[b]string[/b]"; echo @bBcode($stringa); ?>Da cui avremo in output la parola stringa scritta appunto in grassetto.
© Claudiogarau.it :: Tutorials & Scripts, PHP, Linux and more.