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 :
#\[u r l=(.*?)\](.*?)\[/u r l\]#i (con u r l senza spazi)
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. (naturamelmente il 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 [ u r l=] troverà un f t p/http o un w w w; per non parlare quando metto il tag [u r l=] personalizzato e scrivo [u r l]http://w w w.[/url] , in quanto me lo applica tre volte.).

come posso risolvere?

saluti, e grazie per l'attenzione