Précédent   Forum des professionnels en informatique > PHP > Langage > Syntaxe
Syntaxe Forum d'entraide sur la syntaxe de PHP et la POO. Avant de poster -> FAQ syntaxe, Cours d'initiation et cours de POO
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 06/10/2011, 23h52   #1
Futur Membre du Club
 
Inscription : janvier 2010
Messages : 76
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 76
Points : 19
Points : 19
Par défaut fonction preg_split probleme

Bonsoir,

si j'écris :
Code :
1
2
$chaine = 'toto_et_titi';
$tab= preg_split('_et_', $chaine);
le résultat escompté n'est pas bon, il me sort comme premier élément du tableau toto_ et comme deuxième _titi

alors qu'avec explode, il me renvoie toto titi sans les underscores.
Si quelqu'un peut m'aider...
Merci
loustalet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 00h29   #2
Membre Expert
 
Avatar de Eric2a
 
Homme Eric Garidacci
Inscription : septembre 2005
Messages : 1 057
Détails du profil
Informations personnelles :
Nom : Homme Eric Garidacci
Âge : 41

Informations forums :
Inscription : septembre 2005
Messages : 1 057
Points : 1 564
Points : 1 564
Salut,

Ici la chaine servant de séparateur est bien "et" sans les undescores car ces derniers sont les délimiteurs.

Il faut donc "entourer" le masque de recherche "_et_" par des délimiteurs (ex. le caractère %).
Code :
$tab=preg_split('%_et_%', $chaine);
Ceci dit, la fonction explode() est quand-même bien plus adaptée pour ce cas.
__________________

N'oubliez pas le vote des messages utiles ainsi que le Tag [Résolu].

Mon Site Web : Corse - Actualité, Météo, Vidéos, Logiciels, ...
Eric2a est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 08h12   #3
Futur Membre du Club
 
Inscription : janvier 2010
Messages : 76
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 76
Points : 19
Points : 19
Bonjour,

merci pour la réponse, mais pourquoi explode est plus adaptée ici ?
bonne journée
loustalet est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 09h18   #4
Responsable Développement Web

 
Avatar de Bovino
 
Homme Didier Mouronval
Développeur Web
Inscription : juin 2008
Messages : 13 807
Détails du profil
Informations personnelles :
Nom : Homme Didier Mouronval
Âge : 41
Localisation : France, Gironde (Aquitaine)

Informations professionnelles :
Activité : Développeur Web
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juin 2008
Messages : 13 807
Points : 35 789
Points : 35 789
Parce que dans ton cas, tu n'as pas besoin d'une expression régulière (dont tu semblais d'ailleurs ignorer que tu en utilisais une) pour séparer ta chaine.
__________________
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Vous possédez un blog et aimeriez diffuser vos billets sur le forum, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Bovino est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/10/2011, 09h33   #5
Futur Membre du Club
 
Inscription : janvier 2010
Messages : 76
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 76
Points : 19
Points : 19
Je savais que j'en utilisais une, un peu plus haut dans mon prog j'ai un preg_match!
Par contre j'avais l'habitude d'utiliser split qui est une fonction que l'on retrouve dans plusieurs langages.
Effectivement on n'a pas besoin d'expression régulière puisqu'on connait le séparateur de manière certaine ! Là doit être la différence avec explode !
loustalet est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h09.


 
 
 
 
Partenaires

Hébergement Web