[PHP] Pear windows installation paths.
Running PHP 5.3.6 Windows VC9 zipped binaries (windows.php.net). I got the following messages after running 'pear' in the command line: PHP Parser error: syntax error, unepxected '@' in C:\php\PEAR\pearcmd.php on line 28 PHP Parser error: syntax error, unepxected '@' in C:\php\PEAR\pearcmd.php on line 28 Because of the backslashes windows uses in paths, the last single quote gets escaped. Replacing \' with \\' fixes the problem. Just wondering if this is a bug or expected behavior? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: Php filter validate url
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
Re: [PHP] Re: Php filter validate url
On Mon, Jun 27, 2011 at 11:14 AM, Shawn McKenzie nos...@mckenzies.net wrote: On 06/27/2011 10:01 AM, Plamen Ivanov wrote: 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. 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. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP] Re: Php filter validate url
On Mon, Jun 27, 2011 at 11:34 AM, Jim Lucas li...@cmsws.com wrote: On 6/27/2011 8:25 AM, Plamen Ivanov wrote: On Mon, Jun 27, 2011 at 11:14 AM, Shawn McKenzie nos...@mckenzies.net wrote: On 06/27/2011 10:01 AM, Plamen Ivanov wrote: 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. 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. Shawn meant to use parse_url() in place of your explode statement. He didn't say to use parse_url() as a method to validate the url. He said it would make more sense to do the following. Also, use strict type matching if you want to compare against boolean(FALSE) $allowed = array('http', 'https'); $scheme = parse_url($url, PHP_URL_SCHEME); if (FALSE === in_array($scheme, $allowed) { // Protocol not valid! exit(1); // or return FALSE; whatever... } Seems a little less muddy to me. Jim Lucas Makes sense now. Thanks guys. -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php