Ivan potresti provare con le espressioni regolari, ti conviene fare una ricerca sulle funzioni
ereg
eregi
ereg_replace
eregi_replace
un esempio potrebbe essere

per trasformare
Visit [L]http://www.prova.net/[EL]
in
Visit <a href="http://www.prova.net/">http://www.prova.net/<a>

usiamo una espressione regolare che identifichi il link

\[L][-_./a-z0-9!&%#?+,':;@]+)\[EL]

la funzione

$variabile = eregi_replace('\\[L][-_./a-z0-9!&%#?+,':;@]+)\\[EL], '<a href="\\1">\\1<\a>', $variabile_contenente_la_stringa);

\\1 rappresenta la prima parte tra parentesi dell'espressione regolare \\2 la seconda e così via

Puoi partire da questop esempio e con qualche minima modifica per adattarlo al tuo caso dovrebbe andare.

Spero di esserti stato utile, ciao.