Ti posto qui sotto come faccio io... ovvio poi devi sostituire LINK con URL e $txt con $stringa...
A me funziona ottimamente!

Codice PHP:
$txt preg_replace("#\[link=([^\]]+)\]#i""<a href=\"\\1\" title=\"link esterno\" target=\"_blank\">"$txt);

$txt preg_replace("#\[/link\]#i""</a>"$txt); 
EDIT:
Ops... cavolata ho detto... a te interessa da html a bbcode... questo è da bbcode a html...