Afficher mots d'une phrase de couleurs differentes

xnicekiller -  
Yuh12 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour, j'aurai besoin d'aide ,je suis en train de faire un logiciel qui me permet d'afficher une phrase (que l'utilisateur a rentré) avec chaque mot de couleurs différentes(des couleurs que j'ai déjà définies). J'ai décider d'utiliser la fonction EXPLODE pour pouvoir séparer les mots dans la chaîne de caractère, .. Apres j'ai un petit problème , je ne sais plus quoi faire après.. Est-ce que je dois faire une boucle pour pouvoir rejeter autant de fois le changement de couleurs qu'il y a de mots dans ma phrase ? SVP pouvez-vous m'éclairer un peu plus .. Voici mon début de logiciel

<?php
$phrase = $_POST["phrase"];
$pieces = explode(" ", $phrase);
$couleur="FF8101010";
$couleur1="1010810FF";
$couleur2="101010101010";
$couleur3="410810810";
$couleur4="8101010FF";
$couleur5="10101010810";
$couleur6="FF10101010";
$couleur7="FFFBF10";

echo $pieces[0] . " ";
{ $input = array($couleur,$couleur1,$couleur2,$couleur3,$couleur4,$couleur5,$couleur6,$couleur7);
$hasard = rand (0,7);
echo ("<font color=\"" . $input[$hasard] . "\">" . $pieces[0] . " </font>");
$separe="";
}

echo $pieces[1] . " ";
echo $pieces[2] . " ";
echo $pieces[3] . " ";
echo $pieces[4] . " ";
echo $pieces[5] . " ";
echo $pieces[6] . " ";
echo $pieces[7] . " ";

<?






A voir également:

1 réponse

Yuh12 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   24
 
Salut !
Ce que tu as fait marche presque mais il te manque un foreach.
Au lieu de lui dire
echo ("<font color=\"" . $input[$hasard] . "\">" . $pieces[0] . " </font>"); 

Soit "affiche moi la première case de $pieces", il faut que tu lui fasse afficher chaque mot l'un après l'autre en parcourant (grâce à un foreach) le tableau $pieces.
Pour chaque $value contenu dans le tableau $pieces tu recommences ton opération, et donc chaque mot sera d'une couleur aléatoire.

De plus tu as marqué

echo $pieces[1] . " ";
echo $pieces[2] . " ";
echo $pieces[3] . " ";
echo $pieces[4] . " ";
echo $pieces[5] . " ";
echo $pieces[6] . " ";
echo $pieces[7] . " ";

mais tu ne peux pas savoir combien de mots contiendra ton tableau $pieces, c'est peut-être 7 mais pourquoi pas 12 ou 52... donc c'est à ce moment là que tu dois penser à faire une boucle ^^ .


Essaye ceci :


foreach($pieces as $value)
{
$input=array($couleur,$couleur1,$couleur2,$couleur3,$couleur4,$couleur5,$couleur6,$couleur7);
$hasard = rand (0,7);
echo ("<font color=\"" . $input[$hasard] . "\">" . $value . " </font>");
}
0
xnicekiller
 
Merci merci voila le programme marche nickel ,je m'etais deja un peu renseigné , on m'avait parlé de la fonction FOREACH mais j'ai jamais su la placé correctement dans mon logiciel, encore un gros merci :)
0
Yuh12 Messages postés 184 Date d'inscription   Statut Membre Dernière intervention   24
 
Si ma réponse te suffit, n'oublie pas de passer le sujet en "Résolu", c'était avec plaisir :)
0