Avatar billede talrinys Nybegynder
05. juli 2006 - 00:16 Der er 6 kommentarer og
1 løsning

Hjælp med RegEx

Ok jeg sidder med en elendigt designet HTML side, hvor jeg skal bruge en form der går videre over i en PHP side der submitter kommentarene. Siden er 100% HTML, og kommentarene skal vises med en Iframe. Derfor ville det vært smart hvis fyren bare kunne fortsætte med navngivningen af siderne som nu, der er noget i stil med:
dvd-rental-reviews/goodstuff.htm
dvd-rental-reviews/test1.htm
Og så skulle PHP selv kunne finde ud af navnet på siden udfra den sidste bid af adressen, f.eks goodstuff el. test, så jeg kunne:
1: Tilføje nye sider uden at rode med PHP.
2: Lave en nem redirect til den side hvor kommentarene blev submittet.

Så jeg skal bruge en metode der får fat i referrer siden og udtrækker den bid information. Nogen der kan hjælpe?
Avatar billede gizmo-gizmo Nybegynder
05. juli 2006 - 09:27 #1
Jeg forstår det ikke, men jeg forsøger alligevel:

//Få fat i referer siden
$ref = $_SERVER['HTTP_REFERER'];

//Træk den sidste del ud (f.eks. 'godstuff') med en regex
preg_match("/\/(.*)(\.htm)$/", $ref, $regs);

echo $regs[1];
Avatar billede talrinys Nybegynder
05. juli 2006 - 10:55 #2
Meget tæt på at være der, den giver et svar som f.eks:
/localhost/freedvdtrials/dvdtrial

Hvor den gerne skulle give kun dvdtrial, ikke noge mapper eller noget i den stil.
Avatar billede gizmo-gizmo Nybegynder
05. juli 2006 - 11:10 #3
Måske:

preg_match("#/([^/]*)/?$#", $str, $regs);

??
Hvordan ser den referer ud du prøver at fange? Kan den både være:
/localhost/freedvdtrials/dvdtrial
og
/dvd-rental-reviews/goodstuff.htm
?

Undskyld hvis jeg virker fatsvag :o)
Avatar billede talrinys Nybegynder
05. juli 2006 - 11:28 #4
Lige nu kan den kun være
/localhost/freedvdtrials/dvdtrial
Men den skal opfange sider der ser sådan ud:
http://www.freedvdtrials.com/dvd-rental-reviews/lovefilm-review.htm
I det tilfælde skal jeg bruge lovefilm-review
Avatar billede gizmo-gizmo Nybegynder
05. juli 2006 - 15:49 #5
Hvad så med:
preg_match("#/([^/]*?)(\.htm)?$#", $ref, $regs);

I
http://www.freedvdtrials.com/dvd-rental-reviews/lovefilm-review.htm
fanger den "lovefilm-review"

og i
/localhost/freedvdtrials/dvdtrial
fanger den dvdtrial
Avatar billede talrinys Nybegynder
06. juli 2006 - 01:09 #6
Yes det virker, mange tak for hjælpen :)
Avatar billede gizmo-gizmo Nybegynder
06. juli 2006 - 08:45 #7
Selvtak, det var så lidt :-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester