Ich kenne relativ wenig Adressen, in denen die Zeichen [ und ] vorkommen.
Allerdings kannst du den Link vor dem Umwandeln URL-Kodieren (url_encode()) - und dann die RegExp entsprechend anpassen.
Der RegExp-Evaluator - RegExp-Evaluator <- Hilft auch dabei