2010-12-28 3 views
0

Ich habe jetzt den regulären Ausdruck, der "http" validiert .. aber ich brauche einen einzigen, der auch die uRL ohne Protokoll-Spezifikation validiert ....Ich brauche einen einzelnen regulären Ausdruck, der sowohl "www.google.com" als auch "http://google.com" validiert.

+0

http://stackoverflow.com/questions/161738/what-is-the-best-regular-expression-to-check-if-a-string-is-a-valid-url – notJim

+0

Auch: ['parse_url '] (http://us3.php.net/manual/en/function.parse-url.php) – notJim

+0

Was ist mit' http: // www.google.com/'? – thirtydot

Antwort

0

Ich glaube, es schlechte Praxis ist Regex zu verwenden, wenn es nicht erforderlich ist, schauen Sie in http://www.w3schools.com/PHP/filter_validate_url.asp

Es Flaggen für erfordert einen Host hat, was ich nicht glaube, Sie suchen.

+0

Ich denke, VALIDATE_URL ist eine der Funktionen filter_var(), die tatsächlich als Regex implementiert ist. – mario

+0

@Mario, ich meine, erstellen Sie Ihren eigenen regulären Ausdruck, wenn filter_var Funktionen dafür verfügbar sind. Obwohl ich mich umgesehen habe und es scheint leider nicht nur mit www.url.com zu funktionieren. –

+0

Ja, es ist zu streng und www.example.com ist keine vollständige URL. Auch stellt sich heraus, dass ich falsch liege. Es beruht auf parse_url(). http://svn.php.net/repository/php/php-src/trunk/ext/filter/filter.c – mario

1

das wird tun, was Sie wollen:

(http://|www\.)google\.com

0

Unter der Annahme, dass Sie es wirklich mit einem regex tun wollen (und nicht von einer anderen, bessere Methode), und unter der Annahme, dass wir uns ausschließlich mit den beiden angegebenen Varianten von Googles Domain befassen (und nicht mit anderen plausiblen Varianten), dann ist der Unterschied zwischen den beiden zwei Formen ist, dass man beginnt ‚http: //‘ und die andere, so ‚www.‘:

(http://|www\.)google\.com 

Aber Sie könnten sicherstellen wollen, dass ein "Ende des Wortes gibt es am Ende der‘ .com B. so, dass es nicht mit http://google.communitycollege.org/ übereinstimmt.

Verwandte Themen