On Sun, Jun 26, 2011 at 5:44 PM, Shawn McKenzie <nos...@mckenzies.net> 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.

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

Reply via email to