johnsmith153 Posted September 28, 2008 Share Posted September 28, 2008 I need a script that checks if a string is in fact a valid url I suppose anything starting http:// or www. should be o.k, also, there are some addresses like: subdomain.site.com etc and if doing for whole domain, please remember .co.uk urls (a lot of time I see script that works on .com but not .co.uk) Quote Link to comment Share on other sites More sharing options...
Caesar Posted September 28, 2008 Share Posted September 28, 2008 Meh...different ways of doing it. In my half asleep state I will offer the following as a possibility... <?php function CheckURL($url) { if(preg_match('#http\:\/\/[aA-zZ0-9\.]+\.[aA-zZ\.]+#',$url)) return true; else return false; } ?> Quote Link to comment Share on other sites More sharing options...
johnsmith153 Posted September 29, 2008 Author Share Posted September 29, 2008 You obviously did not read my post fully, this is not a solution. www.anything.com would return false. However, anyone who posts on here does so for free, so I can hardly complain. Thanks for taking the time to respond. Quote Link to comment Share on other sites More sharing options...
redarrow Posted September 29, 2008 Share Posted September 29, 2008 Try this then please.. <?php function CheckURL($url) { if(preg_match('(#http\:\/\/ || #http\:\/\/[aA-zZ0-9\.])[aA-zZ0-9\.]+\.[aA-zZ\.]+#',$url)) return true; else return false; } ?> Quote Link to comment Share on other sites More sharing options...
nrg_alpha Posted September 29, 2008 Share Posted September 29, 2008 I see this link being referred to in other forums. It explains things thoroughly. I haven't actually tested this, as I don't even use regex for this sort of thing (I'll link to what I use in a second). But the link includes a table of the lexical tokens section of RFC822 and more. It's thorough yet complex The method I use involves the filter_var() function. In either case, have a look here to see it's simplicity. It is the last code snippet prior to the comment page that I am pointing attention to. Hope this helps.. Cheers, NRG Quote Link to comment Share on other sites More sharing options...
The Little Guy Posted September 30, 2008 Share Posted September 30, 2008 Try this: function CheckURL($url) { if(preg_match('~((http|https|ftp|ftps)://|www.)(.+?)~',$url)) return true; else return false; } Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.