|
Posted by Sanders Kaufman on 11/03/07 16:04
"Carl" <c.groner@gmail.com> wrote in message news:ud4usmjs6.fsf@gmail.com...
> "Sanders Kaufman" <bucky@kaufman.net> writes:
>> Does it make your eyes and ears bleed,the way it does mine?
>> Been doin this stuff since the 70's - but regex still makes me cry.
>>
>> On that note, I am at the moment, writing a function that could sure
>> benefit
>> from some regex.
>> I just want to see if a string starts with "http(s)://", "news:",
>> "mailto:",
>> "ftp:".
>> That's a pretty simple regex, right?
>> Hoooowwww?
>
> This should get you started:
>
> $pattern = '/^(http(s)?:\/\/|news:|mailto:|ftp:)/';
>
> $tests = array('http://www.google.com', 'https://www.google.com',
> 'news:comp.lang', 'mailto:test@nowhere.com',
> ' http://www.google.com',
> 'bad_http://www.google.com',
> 'mailtobad:fdsa', 'ftp://ftp.host.net',
> 'ftpbad:', 'badftp://');
>
> foreach($tests as $v) {
> print "'".$v."'" . ' ~ ' .
> (preg_match($pattern, $v)
> ? 'matches'
> : 'doesn\'t match')."\n";
> }
That helps a LOT.
Thanks.
Navigation:
[Reply to this message]
|