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

              @+