On 06/27/2011 10:01 AM, Plamen Ivanov wrote: > On Sun, Jun 26, 2011 at 5:44 PM, Shawn McKenzie <nospam@xxxxxxxxxxxxx> wrote: >> >> On 06/26/2011 12:31 PM, Adam Tong wrote: >>> Hi, >>> >>> I wanted tu use php filters for validation to avoid regular expresions. >>> Is it possible that FILTER_VALIDATE_URL only checks if the string has >>> http:// and do not check for the format domain.something? >>> ---- >>> $url = 'http://wwwtestcom'; >>> $url = filter_var($url,FILTER_VALIDATE_URL); >>> echo $url; >>> ----- >>> >>> Or I am doing something wrong >>> >>> Thank you >> >> Unless I'm totally misunderstanding what you want (validate that a >> string starts with http://) try: >> >> if(strpos($url, 'http://') === 0) { >> //starts with http:// >> } esle { >> // does not start with http:// >> } >> >> -- >> Thanks! >> -Shawn >> http://www.spidean.com >> >> -- >> PHP General Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php >> > > Another possible solution could be: > > $ary = explode('://', $url); > if (1 >= count($ary)) { > echo 'No schema specified!'; > } else { > // Schema specified. > // $ary[0] is the protocol > $allowed = array('http', 'https'); > if (FALSE == in_array($ary[0], $allowed) { > // Protocol not valid! > exit(1); // or return FALSE; whatever... > } > // $ary[1] is the uri, validate with filter_var(). > } > > Hope this helps. May make more sense to use parse_url() than explode. -- Thanks! -Shawn http://www.spidean.com -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php