salve,

ho quasi completato la mia funzione per il bbcode con preg_replace e relative regular expression.

mi manca ancora da fare questa cosa :

praticamente i tag per i link che voglio gestire sono di due tipi :

a - con bbcode url personalizzato :
#\[ url=(.*?)\](.*?)\[/ url\]#i (senza spazi ovviamente )
b - link normali senza tag personalizzato; es. se uno scrive html://w w w.qualcosa oppure w w w.qualcosa voglio che me li trasformi in link html. (idem, w w w senza spazi);

per il punto (a) nessun problema, ho inserito nella $format_replace questo replacement : '$2'
per quanto riguarda il punto (b), bhè quì è il mio problema.

ho provato con questi :

$format_search
'#((?:ftp|http?)://.*?)#i'
'#(www\..*?)#i'

$format_replace
'$1'
'$1'

oltre al fatto di non funzionare per nulla, succede che facendo così (naturalmente) mi fà il replace due volte se inserisco un url nel tag personalizzato (ovviamente xkè anche dopo [ url= ] troverà un ftp/http o un w w w; per non parlare quando metto il tag [ url= ] personalizzato e scrivo [ url ]http://w w w.[ /url ] , in quanto me lo applica tre volte.).

come posso risolvere?

saluti, e grazie per l'attenzione