Re: Re: Php filter validate url

From: Date: Mon, 27 Jun 2011 15:25:11 +0000
Subject: Re: Re: Php filter validate url
References: 1 2 3 4  Groups: php.general 
Request: Send a blank email to php-general+get-313756@lists.php.net to get a copy of this message
On Mon, Jun 27, 2011 at 11:14 AM, Shawn McKenzie <nospam@mckenzies.net> wrote: > On 06/27/2011 10:01 AM, Plamen Ivanov wrote: >> On Sun, Jun 26, 2011 at 5:44 PM, Shawn McKenzie <nospam@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. > > May make more sense to use parse_url() than explode. > > -- > Thanks! > -Shawn > http://www.spidean.com > http://php.net/manual/en/function.parse-url.php "This function is not meant to validate the given URL..." I would use parse_url() after URL validation.

« previous php.general (#313756) next »