Je ne connais pas précisément cette fonction, mais c'est censé être quoi les délimiteurs de la Regex? // ? (Je suppose que oui puisque tu termines par /i)
Parce que dans ce cas:
1. ta regex devrait commencer par un /
2. tu as un / qui traîne au milieu de ta regex et qui n'est pas échappé ( "http:\/\/+/^[-a-z0-9\._]+\.[a-z]{2,4}$/i" )
3. je ne vois pas ce que vient foutre le 1° + là où il est
4. je ne vois pas non plus ce que vient foutre le début de chaîne ( ^ ) en plein milieu de la regex sans \ ( "http:\/\/+/^[-a-z0-9\._]+\.[a-z]{2,4}$/i" )
Je ne sais pas si ça t'aidera, mais bon... En tout cas, les problèmes 3 et 4 (encore que pour le 4, ça dépend), il ne devrait pas y avoir de problème pour la fonction, juste un mauvais résultat...