Re: Re: Php filter validate url

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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



[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux