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];

    @+
    0
    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
      0
      1. tu pourrai utiliser les expression régulière
        mais dsl je ne m'y connai pas asssez dans le dommaine
        0
        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.

          @+
          0
          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
            0
            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 !
              0