mi sà che stiamo entrambi smanettando con gli stessi problemi!!
Tu sicuramente sei più bravo... ma uno scrpt per i commenti è una delle prime cose che ho provato a fare.
Intanto non mi hai detto se il codicino che ti ho dato prima ti funziona...
Per quanto riguarda il bbcode e anche per quanto riguarda gli smile mi ha aiutato molto questo link
Per l'inserimento dei bbcode nella text area guarda questo
link
Per la conversione dei bbcode guarda questo occorre usare le (dannate... per me) espressioni regolari.
Codice PHP:
function bbcode_conversione($commento){
$search = array(
'/\[b\](.*?)\[\/b\]/is',
'/\[i\](.*?)\[\/i\]/is',
'/\[u\](.*?)\[\/u\]/is',
'/\[img\](.*?)\[\/img\]/is',
'/\[url\](.*?)\[\/url\]/is',
'/\[url\=(.*?)\](.*?)\[\/url\]/is',
'/\[mail\](.*?)\[\/mail\]/is'
);
$replace = array(
'[b]$1[/b]',
'[i]$1[/i]',
'<u>$1</u>',
'
<img src=$1 alt=image>
',
'[url="$1"]$1[/url]',
'[url="$1"]$2[/url]',
'[email="$1"]$1[/email]'
);
$commento = preg_replace ($search, $replace, $commento);
return $commento;
}
Ti dico inoltre un'altra cosa che mi è capitata... per evitare di distruggere il layout della pagina avevo messo la funzione wordwrap() che tronca le parole troppo lunghe: il problemi si presenta nel caso (frequente) in cui si tratti di url img o email... in maniera un pò casereccia ho fatto così:
Codice PHP:
$pos = strstr($commento, '[/img]');
if (!$pos){
$pos = strstr($commento, '[/url]')}
if (!$pos){
$pos = strstr($commento, '[/email]')}
if (!$pos){
$commento=wordwrap($commento,30," ",true);}
Posizionato prima della conversione bbcode in caso di presenza di img url o email la funzione wordwrap() non viene applicata.
Spero di esserti stato utile.
PS:NON SO' PERCHE' MA LA FUNZIONE CHE TI HO POSTATA NON VIENE VISUALIZZATA CORRETTAMENTE