Récupération de valeur en PHP

yoyotheboss7 -  
 yoyotheboss7 -
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. Cortex006 Messages postés 11 Statut Membre 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
  2. yoyotheboss7
     
    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
  3. nEm3sis Messages postés 722 Statut Membre 113
     
    tu pourrai utiliser les expression régulière
    mais dsl je ne m'y connai pas asssez dans le dommaine
    0
  4. Cortex006 Messages postés 11 Statut Membre 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. yoyotheboss7
     
    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
  7. yoyotheboss7
     
    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