[RESOLU] Fonction inverse de strstr()

lucas74330
Invité n'ayant pas de compte PHPfrance

30 nov. 2007, 20:12

Bonjour, j'aimerais une fonction qui fasse l'inverse de strstr()
C'est a dire que :
$string="machin/bidule/chose";
echo strstr($string, '/');
//affiche /chose
mais jaimerais qu'il affiche :
machin/bidule

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

30 nov. 2007, 20:42

Modération :
Afin d'obtenir plus de réponses, le sujet est déplacé dans le forum "Débuter en PHP".

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

Petit nouveau ! | 7 Messages

30 nov. 2007, 20:51

Bonjour :)
$string = 'machin/bidule/chose'; 
$needle = '/';

echo substr( $string, 0, strpos( $string , $needle ) );
Non ?

~L~

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 déc. 2007, 09:48

Presque, un strrpos() serait plus approprié, sans quoi il te retournera la position du premier "/" au lieu du dernier, et la chaine obtenue serait 'machin' et non 'machin/bidule' :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

01 déc. 2007, 10:07

Bonjour,

Et la fonction basename ne suffit pas à faire ce que tu veux?
http://fr.php.net/basename
Quand tout le reste a échoué, lisez le mode d'emploi...

lucas74330
Invité n'ayant pas de compte PHPfrance

01 déc. 2007, 14:38

Non, substr + strpos me convient parfaitement.
MERCI A TOUS !!

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

01 déc. 2007, 15:10

Modération :
Puisque ta question est résolue, j'ajoute le tag [Résolu]
pour indiquer aux personnes qui voudront consulter ce sujet qu'il contient une solution.

Tu peux réaliser cette opération toi-même
en cliquant sur le bouton Image qui s'affiche en haut à gauche de ce sujet
si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

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

Petit nouveau ! | 7 Messages

03 déc. 2007, 18:30

Bonjour :)
Presque, un strrpos() serait plus approprié, sans quoi il te retournera la position du premier "/" au lieu du dernier, et la chaine obtenue serait 'machin' et non 'machin/bidule' :)
Ah ui, au temps pour moi .. :oops:

~L~

PS : C'est déjà Noyel ? :twisted: