On Tue, 7 Sep 2004 10:58:48 +0300, Burhan Khalid <[EMAIL PROTECTED]> wrote:
> -----Original Message-----
> From: Nick Wilson [mailto:[EMAIL PROTECTED]
> Sent: Thursday, September 02, 2004 11:59 AM
>
> Hi all,
>
> yeah, i know, i did do quite a bit of searching but I just cant find it...
>
> Does anyone have the regex to make sure an http address is full and without
> error? like http://www.example.com
>
> http://www.php.net/parse_url should do what you require.  If all you want to
> do is filter out the different parts of the url and check if they exist or
> not.

Consider what you'd mark as a full url, do you want to accept ftp://
and such links as well.. quite generic, I'd go for smth like:

/^([a-z]+):\/\/(([\w\.]+)\.([a-z]{2,3}))(:(\d+))?(\/.*)?$/

Which would give you:
Array
(
   [0] => ftp://www.example.com.com.uk:88/something/to/remember
   [1] => ftp
   [2] => www.example.com.com.uk
   [3] => www.example.com.com
   [4] => uk
   [5] => :88
   [6] => 88
   [7] => /something/to/remember
)

Here're seme things I didn't take into account:
* double dots (www...example..com)
* double slashes (www.example.com//asdfasf//asdfasf)
* check for protocol validity, might wanna change the first part to
(ftp|http|chrome|.. any protocol you want to accept)
* I left everything after the first slash completely to the
imagination of your input data - this can contain pretty much anything
anyways
* login details (user:[EMAIL PROTECTED])

If you want to have a full regex that is really complete, check out:
http://www.foad.org/~abigail/Perl/url3.pl, and execute it ..  (linked
from http://www.foad.org/~abigail/Perl/url2.html)

Enjoy!

-- 
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to