/ 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
ereg_replace?
Fra : Tonni Aagesen


Dato : 02-08-01 18:22

Hej liste,

Her er et spørgsmål, som I sikkert alle kan besvare (bare ikke jeg selv):

Jeg skal bruge navnet på en fil uden extensions alá

$path = '/foo/bar/foobar.php?x=5&y=2';
$newPath = ereg_replace(".php", "", $path);
echo "$newPath";

Den skal altså skrive "foobar" uanset hvad der står efter ".php". Kan man
bruge et wildcard efter ".php" ?

--
Mvh
Tonni Aagesen
agent29@mail1.stofanet.dk



 
 
Jonas Delfs (02-08-2001)
Kommentar
Fra : Jonas Delfs


Dato : 02-08-01 19:04

"Tonni Aagesen" <use.my@signature.com> skrev i en meddelelse
news:3b698c13$0$3247$ba624c82@nntp01.dk.telia.net...

> Jeg skal bruge navnet på en fil uden extensions alá
>
> $path = '/foo/bar/foobar.php?x=5&y=2';
> $newPath = ereg_replace(".php", "", $path);
> echo "$newPath";
>
> Den skal altså skrive "foobar" uanset hvad der står efter ".php".

Noget alá:
$newPath = eregi_replace("([a-z\.]+)", file://\\1, $path);

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

"hehe ikke set en standart i min kode før, hvad er det for nogle dimser?" -
X



Jonas Delfs (03-08-2001)
Kommentar
Fra : Jonas Delfs


Dato : 03-08-01 01:27

"Jonas Delfs" <jonas@nospam.delfs.dk> skrev i en meddelelse
news:9kc4im$gme$1@sunsite.dk...

> > Jeg skal bruge navnet på en fil uden extensions alá
> >
> > $path = '/foo/bar/foobar.php?x=5&y=2';
> > $newPath = ereg_replace(".php", "", $path);
> > echo "$newPath";
> >
> > Den skal altså skrive "foobar" uanset hvad der står efter ".php".
>
> Noget alá:
> $newPath = eregi_replace("([a-z\.]+)", file://\\1, $path);

Hmm... hvad var det egentligt for noget crap.

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

"hehe ikke set en standart i min kode før, hvad er det for nogle dimser?"



Niels Andersen (02-08-2001)
Kommentar
Fra : Niels Andersen


Dato : 02-08-01 19:10

"Tonni Aagesen" <use.my@signature.com> wrote in message
news:3b698c13$0$3247$ba624c82@nntp01.dk.telia.net...
> Jeg skal bruge navnet på en fil uden extensions alá
> $path = '/foo/bar/foobar.php?x=5&y=2';
> $newPath = ereg_replace(".php", "", $path);
> echo "$newPath";
> Den skal altså skrive "foobar" uanset hvad der står efter ".php".
> Kan man bruge et wildcard efter ".php" ?

Tjoh...
$newPath = ereg_replace("\.php.*", "", $path);

Læg mærke til at punktum er et specialtegn. Derfor escaper jeg det første
punktum, som rent faktisk skal være et punktim.

Hmm... Bare lige for at tage det fra en anden vinkel, hvor får du $path fra?
Hvis det fx. er den uri client har forespurgt, kan du med $PHP_SELF få
"/foo/bar/foobar.php".
basename($PHP_SELF) giver "foobar.php", så er har du fået næsten det hele
forærende. :)

I øvrigt, når du skal lave noget så simpelt som som at erstatte en streng,
er det spild af processor-kraft at bruge regular expresseions.
$newpath = str_replace('.php', '', $path);
Dette vil gå meget hurtigere.

Anyway, hvis du har en path med sti, filnavn (inkl. extension "php") og
parametre, og filnavnet altid slutter med ".php" og dette ikke skal med,
ville jeg nok gøre sådan her:

$path = '/foo/bar/foobar.php?x=5&y=2';
ereg('.*/(.*).php', $path, $newpath);
echo $newpath[1];

Jeg er dog ikke lige helt sikker på hvordan den vil opføre sig, hvis der er
en skråstreg efter spørgsmålstegnet.


Mvh.

Niels Andersen



Tonni Aagesen (02-08-2001)
Kommentar
Fra : Tonni Aagesen


Dato : 02-08-01 19:53

"Niels Andersen" <niels-usenet@myplace.dk> skrev i en meddelelse
news:FHga7.431$PZ4.57564@news000.worldonline.dk...

> Hmm... Bare lige for at tage det fra en anden vinkel, hvor får du $path
fra?

Den regner jeg med at tage fra "basename($REQUEST_URI);"

--
Mvh
Tonni Aagesen
agent29@mail1.stofanet.dk



Niels Andersen (02-08-2001)
Kommentar
Fra : Niels Andersen


Dato : 02-08-01 21:53

"Tonni Aagesen" <use.my@signature.com> wrote in message
news:3b69a14b$0$3244$ba624c82@nntp01.dk.telia.net...
> > Hmm... Bare lige for at tage det fra en anden vinkel, hvor får du $path
> fra?
> Den regner jeg med at tage fra "basename($REQUEST_URI);"

Hvad med den her:
$filename = basename($PHP_SELF);
$name = str_replace('.php', '', $filename);

Mon ikker den giver det, du ønsker?


Mvh.

Niels Andersen



Tonni Aagesen (03-08-2001)
Kommentar
Fra : Tonni Aagesen


Dato : 03-08-01 01:19


"Niels Andersen" <niels-usenet@myplace.dk> skrev i en meddelelse
news:B4ja7.478$PZ4.68342@news000.worldonline.dk...

> Hvad med den her:
> $filename = basename($PHP_SELF);
> $name = str_replace('.php', '', $filename);
>
> Mon ikker den giver det, du ønsker?

Jo, præcis - Mange tak!

--
Mvh
Tonni Aagesen
agent29@mail1.stofanet.dk



Søg
Reklame
Statistik
Spørgsmål : 177522
Tips : 31968
Nyheder : 719565
Indlæg : 6408672
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste