PHP-OpenID- released

ctd1500 ctd1500 at
Thu Sep 8 09:27:42 PDT 2005

On 9/8/05, Dan Libby <danda at> wrote:
> ctd1500 wrote:
> >You seem to have used non-working code, in place of the patch I sent
> >in yesterday.
> >
> >
> This is true.  My bad.  I was literally running out the door to catch a
> plane, so I did not have time to test my fix.  I'll try not to release
> any more untested patches.
> I appreciate your patch, but I chose to provide an alternative ( and
> unfortunately faulty ) implementation because:
> a) PCRE extension ( preg_* ) is not available on all PHP installations.
> So for maximum compatibility, I would need to provide an alternative
> implementation anyway.  From PHP manual:   "Beginning with PHP 4.2.0
> these functions are enabled by default. You can disable the pcre
> functions with --without-pcre-regex."  I am targetting PHP >= 4.1.0.
> ( I realize that PCRE is used in a couple other places in the code, but
> I'm trying to minimize / workaround that. )
> b) I did not understand exactly what your regex does, and what failure
> cases might exist.  An explanatory comment would help.

a) As far as disabling PCRE functions, I would never see any reason to
disable it, because it doesnt hurt anything, and Regular Expressions
are one of the most useful features in programming, but to each his

       if (!preg_match("#(http(s)?)://.+/#is", $url)) {
           $url .= "/";

It checks for "", or "", if it
can't find a "/" anywhere behind the url, then it adds one to the end.

It could also be done like this:

       if (!preg_match("#(http(s)?|ftp)://.+/#is", $url)) {
           $url .= "/";

That will parse the url for "http://", "https://", or "ftp://" and
looks for a "/" after the url, if none exists, then it adds one.

More information about the yadis mailing list