Re: Regular expression - URL validator

From: Date: Mon, 27 Aug 2007 20:36:25 +0000
Subject: Re: Regular expression - URL validator
Groups: php.general 
Request: Send a blank email to php-general+get-261384@lists.php.net to get a copy of this message
Wagner Garcia Campagner wrote:
Hello, I found this regular expression on a web site. It is basicaly an URL validator. I'm trying to implement this in my web site, but i receive errors. I think this is a PERL REGEX so what should i do to make it work in php? $valid = (preg_match('^((((H|h)(T|t)|(F|f))(T|t)(P|p)((S|s)?))\://)?(www.|[a-zA-Z0-9] .)[a-zA-Z0-9\-\.]+\.[a-zA-Z]{2,6}(\:[0-9]{1,5})*(/($|[a-zA-Z0-9\.\,\;\?\'\\\ +&%\$#\=~_\-]+))*$', $_POST['website']));
This should be preg_match('/.../i', $_POST['website']) your regex should look something like this. ^((ftp|(http(s)?))://)?(\.?([a-z0-9-]+))+\.[a-z]{2,6}(:[0-9]{1,5})?(/[a-zA-Z0-9.,;\?|\'+&%\$#=~_-]+)*$ So, put it all together and it should look like this. <?php $url = "...PUT YOUR TEST URL HERE..."; if ( preg_match('!^((ftp|(http(s)?))://)?(\.?([a-z0-9-]+))+\.[a-z]{2,6}(:[0-9]{1,5})?(/[a-zA-Z0-9.,;\?|\'+&%\$#=~_-]+)*$!i', $url) ) { echo "Matched"; } else { echo "Did not match"; }
if ($valido == 0) {
    something here;
    }
else {
    something else here;
    }
Thanks a lot in advance, Wagner.
-- Jim Lucas "Some men are born to greatness, some achieve greatness, and some have greatness thrust upon them." Twelfth Night, Act II, Scene V by William Shakespeare

« previous php.general (#261384) next »