Découpage d'une chaine

Eléphanteau du PHP | 34 Messages

25 mars 2007, 12:37

Bonjour,

Je cherche à extraire une partie de chaine de caractères.
à l'origine, j'ai image/jpeg

J'ai voudré donc me retrouver avec juste jpeg
Soit / est le caractère de séparation.
j'ai donc fait:

stristr('image/jpeg','/');

Il me retourne /jpeg ce qui veut dire que je dois encore faire une manipulation pour enlever la caratère /.

Soit:

substr(stristr('image/jpeg','/'),1);

Existe-il une manière plus rapide afin d'optimiser en une seule fonction.

Merci d'avance pour vos réponses.

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

25 mars 2007, 14:16

Salut,
explode() peut éventuellement convenir

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

ViPHP
ViPHP | 1996 Messages

25 mars 2007, 19:27

si c'est toujours jpeg tu as aussi
$image = strrev(substr(strrev($valeur),0,5);
$jpeg = strrev(substr(strrev($valeur),5);
mais c'est moins élégant
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

Eléphant du PHP | 170 Messages

26 mars 2007, 14:15

<?php
$cha='dossier1/dossier2/mon_image.jpg';
$str=substr(strrchr($cha, '/'), 1 );
?>
Benjamin Franklin a dit :
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends

ViPHP
AB
ViPHP | 5818 Messages

26 mars 2007, 20:52

Bonjour therafou,

La solution donnée par Expreg : substr(strrchr($chaine, '/'), 1 ) me paraît la mieux adaptée et pour répondre directement à ta question je ne pense pas qu'il soit possible d'optimiser ce code avec une seule fonction.