Toon posts:

[php] extensie middels regular expression

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi,

in een variabele heb ik de bestandsnaam van een afbeelding staan. bijvoorbeeld:

$image = "blah.jpg";
$image = "duh.gif";

Nu wil ik aan $extension de extensie uit de imagenaam geven.
Dus:

$extension = ".jpg";
$extension = ".gif";

Hoe kan ik dit nu doe met regular expressions?
Ik heb al zitten zoeken op phpFreakz en phpBuilder, maar ik kom er niet uit.

Ik dacht zelf aan:
$extension = ereg((".*\.[A-Za-z]$"), "blah.jpg");

Maar dat werkt dus niet!
Please, help (best wel newbie vraag maar goed)

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Hoeft niet eens met een regexp. zo werkt het ook:
PHP:
1
<?function strip_ext($filename){$filename = substr($filename, 0, strrpos($filename, '.'));return($filename);}/* usage: $filename = strip_ext('blaat.txt');$filename is dan : 'blaat'*/?>


PHP:
1
<?function get_ext($filename){$filename = substr($filename, strrpos($filename, '.'), strlen($filename));return($filename);}/* usage: $filename = get_ext('blaat.txt');$filename is dan : '.txt'*/?>

Stop uploading passwords to Github!


Verwijderd

Topicstarter
Maar kan het wel met een regular expression?

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02-2025

SchizoDuckie

Kwaak

Op woensdag 26 juni 2002 10:44 schreef FourEyes het volgende:
Maar kan het wel met een regular expression?
tuurlijk. maar daarvoor moet je niet bij mij wezen :P

Stop uploading passwords to Github!


Verwijderd

Topicstarter
Haha, cool ! :O

  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
Zo misschien:
$extension = ereg("!.*\.([A-Za-z0-9]{1,3})$!i", 'blah.mp3');

Niet getest!

43% of all statistics are worthless


  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
of $extentie = preg_replace("/^(.*)((\.jpg)|(\.gif))$/", "\\2", $filename); als ik die dingen eindelijk es goed begrijp :)

Verwijderd

Topicstarter
Nou die werken niet hoor :)

  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
vangt ie dan niet de extensie incl. de punt '.'?

43% of all statistics are worthless


  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
Op woensdag 26 juni 2002 11:27 schreef FourEyes het volgende:
Nou die werken niet hoor :)
Wat krijg je terug?

43% of all statistics are worthless


  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
Op woensdag 26 juni 2002 11:27 schreef BobDay het volgende:
vangt ie dan niet de extensie incl. de punt '.'?
Dat staat toch ook in zijn voorbeeld?

  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
Op woensdag 26 juni 2002 11:28 schreef elviver het volgende:

[..]

Dat staat toch ook in zijn voorbeeld?
Oja, niet gezien ;(

43% of all statistics are worthless


Verwijderd

Topicstarter
Ik kreeg niets terug

  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
Op woensdag 26 juni 2002 11:01 schreef BobDay het volgende:
Zo misschien:
$extension = ereg("!.*\.([A-Za-z0-9]{1,3})$!i", 'blah.mp3');

Niet getest!
Op woensdag 26 juni 2002 11:27 schreef FourEyes het volgende:
Nou die werken niet hoor :)
Ik bedenk mij net dat ereg alleen maar matched! Krijg je ook geen TRUE of FALSE terug?

43% of all statistics are worthless


  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
Op woensdag 26 juni 2002 11:17 schreef ik het volgende:
of $extentie = preg_replace("/^(.*)((\.jpg)|(\.gif))$/", "\\2", $filename); als ik die dingen eindelijk es goed begrijp :)
Deze wil ook niet??

  • thomaske
  • Registratie: Juni 2000
  • Laatst online: 14-07 14:28

thomaske

» » » » » »

PHP:
1
<?$ext = ereg_replace(".*\.([^\.]*)$", "\\1", $filename);?>

Brusselmans: "Continuïteit bestaat niet, tenzij in zinloze vorm. Iets wat continu is, is obsessief, dus ziekelijk, dus oninteressant, dus zinloos."


Verwijderd

Topicstarter
Nou ik wil alle soorten extensies af kunnen vangen en niet alleen deze 2.

Je kunt toch zelf ook testen :P

Verwijderd

Topicstarter
Die laatste werkt ja!

$ext = ereg_replace(".*\.([^\.]*D$", "\\1", $filename);

THANKS!

  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
Op woensdag 26 juni 2002 11:36 schreef FourEyes het volgende:
Nou ik wil alle soorten extensies af kunnen vangen en niet alleen deze 2.

Je kunt toch zelf ook testen :P
niet hier :(

43% of all statistics are worthless


  • DRvDijk
  • Registratie: Juni 2001
  • Laatst online: 12-02 15:52
Op woensdag 26 juni 2002 11:36 schreef FourEyes het volgende:
Nou ik wil alle soorten extensies af kunnen vangen en niet alleen deze 2.

Je kunt toch zelf ook testen :P
JIJ wil het hebben.. tssj
Die preg_replace kun ook ombouwen om alle extenties af te vangen.. Maar dan zou ik het inderdaad gewoon niet met een regexp doen, maar met een simpele al in php bestaande functie..

  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Hier heb ik laatst een functietje voor op http://www.codebase.nl gepleurd....

eens ff kijken...

edit:
*click*

Daar gebruikte ik de volgende regex:
code:
1
/\.([^.]+)$/

edit2:
Ik begrijp niet waarom bijna iedereen die .* aan 't begin van de regex zet :?. Die heeft helemaal geen zin...

oh en dit heeft ook niet zoveel zin binnen een class :)
[^\.]
Die slash kun je achterwege laten
[^.]

. is binnen een class namelijk geen special- of "metacharacter"

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
de extension mag ook geen \ bevatten. Er zijn denk ik nog wel meer charaters te verzinnen die niet mogen bestaan

43% of all statistics are worthless


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

BobDay:
de extension mag ook geen \ bevatten. Er zijn denk ik nog wel meer charaters te verzinnen die niet mogen bestaan
De functie van de regex is ook niet om de file extensie op geldigheid te checken, maar het is om na te gaan wat hij is.

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • BobDay
  • Registratie: December 2001
  • Laatst online: 11-08-2025
Okey maar deze accepteerd dan ook ongeldige extensions. Voor het vangen van de extension maakt dat idd niets uit.

43% of all statistics are worthless

Pagina: 1