RE: [PHP] Re: regex problem
| From: | Wouter van Vliet | Date: | Fri, 15 Aug 2003 14:46:55 +0000 |
| Subject: | RE: [PHP] Re: regex problem | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-159698@lists.php.net to get a copy of this message | ||
So, what you want is to pretty much use this regex
/^(.*)([^\/]+)\/([^\/]+)$/
when matched on this URI, the backreferences will contain
\\1 partner/
\\2 name
\\3 contact.html
\\4 .html
> > partner/name/contact.html
I have not tested it, but I just guess it will work ;) Wanna know why? I'll
tell you :D
- It first looks at the beginning of the string and will go on untill a the
next pair of () start (partner/)
- That happens there where there is a string containing any character, but
not a slash (partner)
- as a seperator another slash is added
- it starts to match the last part of the url and looks up untill the end.
Again a string containing no slashes
Hope it does do what I expect it to do .. ;)
Wouter
-----Oorspronkelijk bericht-----
Van: Merlin [mailto:news.groups@web.de]
Verzonden: vrijdag 15 augustus 2003 16:21
Aan: php-general@lists.php.net
Onderwerp: [PHP] Re: regex problem
Good idea,
but does not work either - surprisingly! -
There should be a clean way with regex for this task.
Andy regex expert in here?
Merlin
"Kae Verens" <kverens@contactjuggling.org> schrieb im Newsbeitrag
news:20030815133157.45726.qmail@pb1.pair.com...
> Merlin wrote:
> > ufff.. sorry guys, but I have to explain that better. I appreciate your
> > help, maybe I did not give enough info.
> >
> > I am trying to redirect with apache modrewrite. To do this you have to
use
> > regex (not if functions:-)
> >
> > My problem is, that there are member accounts which look like that:
> >
> > membername/contact.html
> >
> > and there are partner accounts which look like this:
> >
> > partner/name/contact.html
> >
> > The goal is to redirect only if it is a member account. If I put a
> > (.*)/contact.html it also matches the partner/
> > I tryed putting a root / infront, but there is not / root for the url
from
> > apaches point of view.
> >
> > So I would need a regex which will match the member account, but if the
> > first word is "partner" it should
> > not terminate.
> >
> > This seems to be a tough one!
> >
>
> ah - maybe a chain of rewrites would do?
>
> send all matches of /^partner\/(.*)\/contact.html$/ to partner\/\1\/blah
> send all matches of /^(.*)\/contact.html$/ to NEWLOCATION
> send all matches of /^partner\/(.*)\/blah$/ to partner\/\1\/contact.html
>
> Kae
>
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php