RE: [PHP] Regular expression - URL validator
| From: | Richard Lynch | Date: | Wed, 29 Aug 2007 19:26:38 +0000 |
| Subject: | RE: [PHP] Regular expression - URL validator | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-261500@lists.php.net to get a copy of this message | ||
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@cmsws.com]
> Sent: segunda-feira, 27 de agosto de 2007 17:36
> To: PHP General; wagnergc@itautec.com
> Subject: Re: [PHP] 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\.\,\;\?\'\\\
> > +&%\$#\=~_\-]+))*$', $_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.