/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Regular expression sjov.
Fra : Stig Nørgaard Jepsen


Dato : 13-01-02 15:53

Jeg har en url som fx. kunne være:
www.test.cykellygte.dk eller www.to.test.cykellygte.dk eller
to.test.cykellygte.dk
Det jeg så vil ha' tilbage er to ting:
test.cykellygte.dk og cykellygte.dk

Jeg har fumlet lidt med ereg-funktionen, men jeg synes ikke rigtig at jeg
kan få noget til at hænge sammen.
Det tætteste jeg er kommet det, er ereg("(.*).*(\..*\..*)", $url, $regs);
som vil give:
$reg[1] - www.test
$reg[2] - .cykellygte.dk

Men det er jo alligevel et stykke fra.


Any help?
På forhånd tak.

Mvh Stig



 
 
Jonas Delfs (13-01-2002)
Kommentar
Fra : Jonas Delfs


Dato : 13-01-02 16:16

"Stig Nørgaard Jepsen" <stigen@mail.dk> skrev i en meddelelse
news:3c419f25$0$62899$edfadb0f@dspool01.news.tele.dk...

> Jeg har en url som fx. kunne være:
> www.test.cykellygte.dk eller www.to.test.cykellygte.dk eller
> to.test.cykellygte.dk
> Det jeg så vil ha' tilbage er to ting:
> test.cykellygte.dk og cykellygte.dk
>
> Jeg har fumlet lidt med ereg-funktionen, men jeg synes ikke rigtig at jeg
> kan få noget til at hænge sammen.
> Det tætteste jeg er kommet det, er ereg("(.*).*(\..*\..*)", $url, $regs);
> som vil give:
> $reg[1] - www.test
> $reg[2] - .cykellygte.dk

ereg("((([0-9a-z-_]+)\.)?([0-9a-z-_]+)\.([a-z]+))", $url, $regs);
echo $reg[1];

måske... (gik meget hurtigt).
Forresten kan det anbefales at bruge de PERL-compatible regex da de er meget
hurtigere.

--
Mvh./Best Regards
Jonas Delfs, http://delfs.dk



Stig Nørgaard Jepsen (13-01-2002)
Kommentar
Fra : Stig Nørgaard Jepsen


Dato : 13-01-02 17:01

Hmmm... jeg får denne fejl tilbage:
Warning: REG_ERANGE: in d:\home\stig\public_html\test.php on line 11.

> > Jeg har en url som fx. kunne være:
> > www.test.cykellygte.dk eller www.to.test.cykellygte.dk eller
> > to.test.cykellygte.dk
> > Det jeg så vil ha' tilbage er to ting:
> > test.cykellygte.dk og cykellygte.dk

Hvilke af disse to skulle din reg-exp. ha' returneret?
Den returnerer jo ikke begge :)

Mvh Stig



Niels Andersen (13-01-2002)
Kommentar
Fra : Niels Andersen


Dato : 13-01-02 16:59

"Stig Nørgaard Jepsen" <stigen@mail.dk> wrote in message
news:3c419f25$0$62899$edfadb0f@dspool01.news.tele.dk...
> Jeg har en url som fx. kunne være:
> www.test.cykellygte.dk eller www.to.test.cykellygte.dk eller
> to.test.cykellygte.dk
> Det jeg så vil ha' tilbage er to ting:
> test.cykellygte.dk og cykellygte.dk

Hvad er mønsteret?
At du vil have de tre sidste dele, og de to sidste dele?

ereg('([^\.]+\.([^\.]+\.[^\.]+))$', $url, $regs);

Jeg gider ikke lige forklare hvad der sker, hvis jeg alligevel ikke har
gættet rigtigt.

--
Mvh.

Niels Andersen



Stig Nørgaard Jepsen (13-01-2002)
Kommentar
Fra : Stig Nørgaard Jepsen


Dato : 13-01-02 17:26

> Hvad er mønsteret?
> At du vil have de tre sidste dele, og de to sidste dele?
yep. Tak skal du ha'.


> ereg('([^\.]+\.([^\.]+\.[^\.]+))$', $url, $regs);
> Jeg gider ikke lige forklare hvad der sker, hvis jeg alligevel ikke har
> gættet rigtigt.
Nej, det er fint nok. Jeg vil lige prøve at læse lidt i noget dokumentation
og prøve at regne den ud :)

/Stig



Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste