Edit report at http://bugs.php.net/bug.php?id=51305&edit=1
ID: 51305 Updated by: ahar...@php.net Reported by: rakan dot alhneiti at gmail dot com Summary: filter_var returns false on valid URLs -Status: Open +Status: Duplicate Type: Bug Package: Filter related Operating System: Redhat PHP Version: 5.2.13 New Comment: Already fixed in SVN, per bug #51192. Previous Comments: ------------------------------------------------------------------------ [2010-03-16 09:52:50] rakan dot alhneiti at gmail dot com Description: ------------ Hello, I am currently testing script attached which is supposed to validate URLs The URL as you can see is a valid URL but the 4 var_dump's done return false. Here is a test run result: string(29) "http://my-domain.mydomain.com" bool(false) bool(false) bool(false) bool(false) I tested my_domain.mydomain.com and it returned the domain correctly. while on the '-' dash sign it returns false Test script: --------------- <?php $URL = "http://my-domain.mydomain.com"; var_dump($URL); var_dump(filter_var($URL, FILTER_VALIDATE_URL)); var_dump(filter_var($URL, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED)); var_dump(filter_var($URL, FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED)); var_dump(filter_var($URL, FILTER_VALIDATE_URL, FILTER_FLAG_SCHEME_REQUIRED | FILTER_FLAG_HOST_REQUIRED)); ?> Expected result: ---------------- return the URL in case it is valid even if it contains '-' Actual result: -------------- returns false ------------------------------------------------------------------------ -- Edit this bug report at http://bugs.php.net/bug.php?id=51305&edit=1