Précédent   Forum des professionnels en informatique > PHP > Langage > Fonctions
Fonctions Forum d'entraide sur les fonctions PHP. Avant de poster -> FAQ fonctions et Sources diverses
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 02/08/2011, 13h12   #1
Candidat au titre de Membre du Club
 
Inscription : janvier 2010
Messages : 52
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 52
Points : 11
Points : 11
Par défaut Découper un lien .php?champ-texte=chien+chat

Bonjour à tous

Besoin d'un petit service, je voudrais récupérer du texte dans un liens

EX: http://monsite.fr/index.php?champ-texte=chien+chat

donc si je fais ---> $champ-texte = $_GET['champ-texte'];

J'aurais donc chien+chat enregistré dans la variable $champ-texte

Or ce que je voudrais c'est que chien et chat soit dans une variable déférente

Ex: $champ-texte1= chien et $champ-texte2= chat

Merci d'avance
djo007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 13h24   #2
Modérateur
 
Avatar de FirePrawn
 
Homme Sébastien
Ingénieur réalisateur
Inscription : mars 2011
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Sébastien
Âge : 24
Localisation : France, Haut Rhin (Alsace)

Informations professionnelles :
Activité : Ingénieur réalisateur
Secteur : Industrie

Informations forums :
Inscription : mars 2011
Messages : 773
Points : 2 332
Points : 2 332
Bonjour,

Tu peux utiliser la fonction split() voir http://php.net/manual/fr/function.split.php
FirePrawn est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 13h25   #3
Modérateur
 
Avatar de Nesmontou
 
Homme Benjamin PREVOT
Architecte de système d'information
Inscription : septembre 2004
Messages : 1 568
Détails du profil
Informations personnelles :
Nom : Homme Benjamin PREVOT
Âge : 30
Localisation : France, Nord (Nord Pas de Calais)

Informations professionnelles :
Activité : Architecte de système d'information
Secteur : Finance

Informations forums :
Inscription : septembre 2004
Messages : 1 568
Points : 2 493
Points : 2 493
Bonjour,

Tu peux utiliser les méthodes list et explode.
Code :
1
2
3
4
5
6
7
8
<?php
if (isset($_GET['var'])) {
	$var = $_GET['var'];
	list($var1, $var2) = explode(' ', $var);
	var_dump($var1);
	var_dump($var2);
}
?>
Par contre, cette méthode n'est valable que si tu es sûr de récupérer 2 valeurs.

Si le nombre de valeurs est indéfini, tu peux toujours utiliser explode, mais il faudra gérer alors le tableau en retour.
__________________
Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

F.A.Q. : Java, PHP, (X)HTML / CSS

N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème
Nesmontou est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 13h37   #4
Membre du Club
 
Inscription : novembre 2005
Messages : 103
Détails du profil
Informations forums :
Inscription : novembre 2005
Messages : 103
Points : 44
Points : 44
Envoyer un message via MSN à Legenyes
Citation:
Envoyé par FirePrawn Voir le message
Bonjour,

Tu peux utiliser la fonction split() voir http://php.net/manual/fr/function.split.php
A savoir que slit() est deprecated avec php 5.3
plutot utiliser explode()
Legenyes est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 13h47   #5
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
Bonjour,
1/ ne mets pas de tiret "-" dans tes noms de variables, mais plutôt des underscore "_" : $champ-texte => $champ_texte
2/ @FirePrawn : Oups ! split() est obsolète ... (cf doc)
3/ @Nesmontou : tu es sur la bonne voie avec explode(), mais list() n'est pas utile.

Code :
1
2
3
4
5
6
7
8
9
<?php
$champ_texte = $_GET['champ-texte']; // de la forme chien+chat+patati+patata...
// on explose sur "+"
$champ_array = explode('+', $champ_texte);
// on récupère les morceaux
foreach($champ_array as $key -> $val) {
	$champ_data[$key] = $val;
}
?>
résultat pour chien+chat+patati+patata :
$champ_data[0] => chien
$champ_data[1] => chat
$champ_data[2] => patati
$champ_data[3] => patata

Remarque : ici, mon foreach ne sert pas à grand'chose !
on aurait pu mettre directement : $champ_data = explode('+', $champ_texte); (on obtient le même résultat !)
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 13h50   #6
Candidat au titre de Membre du Club
 
Inscription : janvier 2010
Messages : 52
Détails du profil
Informations forums :
Inscription : janvier 2010
Messages : 52
Points : 11
Points : 11
Ok merci du coup de main.

PS: voici le code que j'ai ajouté


$champ-texte = = $_GET['champ-texte'];
$nom = explode(" ", $champ-texte);
echo $nom[0];
echo $nom[1];
djo007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 13h52   #7
Modérateur
 
Inscription : septembre 2010
Messages : 7 104
Détails du profil
Informations forums :
Inscription : septembre 2010
Messages : 7 104
Points : 8 458
Points : 8 458
le + dans une url, c'est un espace, il ne va pas aparaitre dans le GET
__________________
http://blog.stealth35.com/
stealth35 est actuellement connecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/08/2011, 13h53   #8
Rédacteur
 
Avatar de jreaux62
 
Homme Jérôme Réaux
Webdesigner
Inscription : août 2008
Messages : 2 993
Détails du profil
Informations personnelles :
Nom : Homme Jérôme Réaux
Âge : 45
Localisation : France, Pas de Calais (Nord Pas de Calais)

Informations professionnelles :
Activité : Webdesigner
Secteur : Arts - Culture

Informations forums :
Inscription : août 2008
Messages : 2 993
Points : 5 786
Points : 5 786
Envoyer un message via Skype™ à jreaux62
ne mets pas de tiret "-" dans tes noms de variables, mais plutôt des underscore "_" : $champ-texte => $champ_texte

Et sur le conseil avisé de stealth35, je corrige '+' en ' '

Code :
1
2
3
4
$champ_texte = $_GET['champ-texte'];
$nom = explode(' ', $champ_texte);
echo $nom[0]; 
echo $nom[1];
__________________
"Ce qui se conçoit bien s'énonce clairement - Et les mots pour le dire arrivent aisément."
Nicolas Boileau-Despréaux, Homme de lettres français (1636-1711), principal théoricien de l'esthétique classique.
Site perso Mes tutos DVP : Gestion-Affichage de Nouvelles - Affichage en tableau HTML - Fonctions de redimensionnement d'images
jreaux62 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 10h17.


 
 
 
 
Partenaires

Hébergement Web