Récupération de valeur en PHP

Fermé
yoyotheboss7 - 10 nov. 2007 à 02:57
 yoyotheboss7 - 12 nov. 2007 à 22:20
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
A voir également:

6 réponses

Cortex006 Messages postés 11 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 6 décembre 2007 1
10 nov. 2007 à 04:20
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
yoyotheboss7
10 nov. 2007 à 15:38
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
nEm3sis Messages postés 710 Date d'inscription lundi 20 août 2007 Statut Membre Dernière intervention 9 avril 2012 113
11 nov. 2007 à 00:23
tu pourrai utiliser les expression régulière
mais dsl je ne m'y connai pas asssez dans le dommaine
0
Cortex006 Messages postés 11 Date d'inscription samedi 27 octobre 2007 Statut Membre Dernière intervention 6 décembre 2007 1
11 nov. 2007 à 22:58
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yoyotheboss7
12 nov. 2007 à 04:41
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
yoyotheboss7
12 nov. 2007 à 22:20
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