afficher la position de la nième occurence d'un caractère

PaDou&
Invité n'ayant pas de compte PHPfrance

02 févr. 2006, 01:02

Bonjour au forum,
j'ai bien regardé sur http://php3.de/manual/fr/
mais je ne trouve pas de fonction pour afficher la position de la nième occurence d'un caractère ( ou j'ai peut etre mal cherché!!)

un exemple : /cle_usb/dossier1/chemin/exemple/

je cherche la position du "/" apres dossier1/
la position de celui la sur le chemin= cle_usb dossier1/chemin exemple

enfin j'espère que vous comprendrez ce que je veux
au lieu d'afficher
/cle_usb/dossier1/chemin/exemple/
j'aimerai afficher
/chemin/exemple/

si quelq'un a une astuce? merci

Mammouth du PHP | 19672 Messages

02 févr. 2006, 10:59

Tu peux faire ça avec une expression régulière :
<?php
$chaine = "/cle_usb/dossier1/chemin/exemple/";
$masque = "#(/cle_usb/dossier1)(/.*)#";
$remplacement = "$2";
$resultat = preg_replace($masque, $remplacement, $chaine);
?>
<p>Chaine réelle : <?php echo($chaine); ?>:<br />
Chaine affichée : <?php echo($resultat); ?></p>
Ce bout de code va afficher :
Chaine réelle : /cle_usb/dossier1/chemin/exemple/:
Chaine affichée : /chemin/exemple/
Il y aurait éventuellement moyen de rendre ça plus générique, mais si le début de ta chaine est toujours la même avec "/cle_usb/dossier1/" alors ce système fonctionnera très bien.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe: