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.
Ecco un possibile utilizzo della nostra funzione:
<?
@require 'funzione.php';
$stringa = "[b]string[/b]";
echo @bBcode($stringa);
?>
Da cui avremo in output la parola stringa scritta appunto in grassetto.
|