Récupération de valeur en PHP

Bonjour,
Je cherche à faire un fonction en php qui récupère les valeurs entre 2 éléments bien précis. En gros j'ai :
aaa/dede/bbb
aaa/ff/bbb
Je veux récupérer dede et ff, valeurs qui seront toujours entre "aaa/" et "/bbb"
Merci d'avance pour votre aide !
Yoann

6 réponses

  1. Bonjour,

    tu peux uitiliser la fonction php explode.

    $array=array();
    $string=null;
    $delemiteur=null;

    $string='aa/bb/cc':
    $delemiteur='/';

    $array=explode($string, $delemiteur);

    echo $array[1];

    @+
    1. Bonjour,
      Merci pour ton aide ! Mon problème c'est que ces éléments sont plusieurs fois dans une page. Comment sélectionner dans mon texte toute les fois où j'ai 'aa/33/cc' ou 'aa/44/cc' ou 'aa/55/cc'...
      Merci encore
      1. tu pourrai utiliser les expression régulière
        mais dsl je ne m'y connai pas asssez dans le dommaine
        1. Bonjour,

          tu peux utiliser les expression régulières omme l'a dit nemesis, pour ça tu peux faire comme ceci :

          '#^[a-z]{2}/[0-9]{2}/[a-z]{2}$#'

          Le ^ précise que c'est un début de chaine et le $ précise une fin de chaine.

          Les classes de caractères précisent pour [a-z] toutes les lettres minuscules (excepté les accentuées, spéciaux)
          La classe de caractère [0-9] cherche tous les chiffres de 0 à 9.
          Les accolades précisent le nombre de fois que peut apparaitre un caractère de la classe. (tu peux mettre aussi {2,} au moin deux fois ou {2,4} de deux à quatre)

          Donc pour cette regex, on va lire de gauche à droite : si dans un début de chaine, il y a deux lettres minuscules suivies d'un / suivis de deux chiffres suivis d'un / et pour terminer suivis de deux lettres minuscules, c'est que tu auras bien un modèle xx/00/xx que tu pourras ensuite traiter avec explode.

          @+
          1. Bonjour,
            Merci beaucoup !!
            Juste une dernière question, j'ai fais ca :
            $page = file_get_contents("mapage");
            
            $titre = eregi("/restaurants_hotel/([a-z]+([-][a-z]+)*_[0-9]{1,20})/Profil-Lieu",$page,$regs); 
            
            echo $regs[1]; 

            Ca marche, mais que pour le premier. Comment faire une boucle qui m'affiche tout sut toute ma page ?
            Merci d'avance
            Yoann
            1. J'ai essayé ça, mais j'ai l'impression que ça tourne en rond :
              $page = file_get_contents("mapage");
              
              while (eregi('/restaurants_hotel/([a-z]+([-][a-z]+)*_[0-9]{1,20})/Profil-Lieu',$page,$regs)); 
              {
              $re= $regs[1];
              mysql_query("INSERT INTO lien VALUES('$re')");
              }
              

              Merci de votre aide !