Afficher mots d'une phrase de couleurs differentes
xnicekiller
-
Yuh12 Messages postés 186 Date d'inscription Statut Membre Dernière intervention -
Yuh12 Messages postés 186 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] . " ";
<?
<?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] . " ";
<?
1 réponse
-
Salut !
Ce que tu as fait marche presque mais il te manque un foreach.
Au lieu de lui direecho ("<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>");
}