2010-10-25 5 views

Répondre

1

Cela devrait le faire: ^http://.*

+0

@Gordon, il fera ce que l'OP a demandé. –

2

Est-ce vraiment ce que vous voulez?

Cela va tout correspondre à la première des espaces: ^http://[^\s]*

+1

Strictement parlant, l'OP ne mentionne pas explicitement qu'il s'agit d'un URI - il veut juste correspondre à * n'importe quoi * qui commence par 'http: //' –

2

Pourquoi ne pas simplement regarder pour voir si les 7 premiers caractères sont « http: // »

substr($url, 0, 7) == "http://" 

Pas besoin de regexps ici.

+0

D'accord, mais l'OP demande des correspondances pour tout ce qui commence par 'http: // ', pas pour les correspondances de http: // n'importe où dans la chaîne. –

+1

Strpos ira regarder dans le reste de la chaîne aussi, sera donc plus lent dans les cas non-correspondants :) Nous avons besoin de l'OP pour nous dire ce qui est vraiment nécessaire. –

1

Donc, fondamentalement, vous voulez faire correspondre une URL dans une chaîne?

http://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)? 
Questions connexes