RE: Regular expression - URL validator

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

 



Yes, make sure you have http:// on the front.

<?php
  if (strtolower(substr($link, 0, 7)) != 'http://') $link =
"http://$link";;
?>

On Tue, August 28, 2007 3:22 pm, Wagner Garcia Campagner wrote:
> Thanks Jim,
>
> Your sugestion worked perfect for me!!
>
> I have another question:
>
> After i validate this URL i want to put a link with this URL in my
> page.
>
> The problem is that if the URL is like (www.aol.com), when i create
> the
> link, this URL is appended with the URL of my site. The result is a
> link
> pointing to: http://<mywebsite>/www.aol.com
>
> But if the URL is like (http://aol.com), then the link is created
> correct.
>
> Is there a way to avoid the first situation... so the link is created
> correct?
>
> Thanks again,
> Wagner.
>
>
>
> -----Original Message-----
> From: Jim Lucas [mailto:lists@xxxxxxxxx]
> Sent: segunda-feira, 27 de agosto de 2007 17:36
> To: PHP General; wagnergc@xxxxxxxxxxx
> Subject: Re:  Regular expression - URL validator
>
>
> 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\.\,\;\?\'\\\
>  > +&amp;%\$#\=~_\-]+))*$', $_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-Z
> 0-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
>
> --
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>


-- 
Please vote for this great band:
http://acl.mp3.com/feature/soundandjury/?band=COMPANY-OF-THIEVES

Requires email confirmation.
One vote per day per email limit.
Obvious ballot-stuffing will be revoked.

-- 
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