Ce que je voudrais, c'est que cela affiche les mots fixes le nombre de fois que le chiffre contenu dans $pourcent.
/**
* Nos mots donnés.
*/
$given = array(
'phpfrance',
'super',
'génial',
'top',
'déchire'
);
/**
* On ajoute nos mots à ceux du langage.
*/
$result = array_merge($language, $given);
/**
* On mélange le tout …
*/
shuffle($result);
/**
* Et on reconstruit la phrase.
*/
var_dump(implode(' ', $result)); en /**
* Nos mots donnés.
*/
$given = array(
'phpfrance',
'super',
'génial',
'top',
'déchire'
);
/**
* Le tableau de mots proportionnel à leur pourcentage
*/
//nombre de mots à prendre dans le "dictionnaire"
$pourcent = round(count($language)*0.05);
$dico=array();
for($i=0;$i<$pourcent;$i++){
$dico[]=$given[array_rand($given)];
}
/**
* On ajoute nos mots à ceux du langage.
*/
$result = array_merge($language, $dico);
/**
* On mélange le tout …
*/
shuffle($result);
/**
* Et on reconstruit la phrase.
*/
var_dump(implode(' ', $result));
Et hop!ben voilà, à peu près comme çaBah ici, j'ai créé le tableau manuellement. Génère le dynamiquement Smile.
<?php
$alphabet = range('a', 'z');
$language = null;
$texte = null;
$textefinal = null;
//On génère entre 100 et 500 mots
for($e = 0, $words = rand(100, 500); $e < $words; $e++)
{
//Un mot contient entre 2 et 10 caracteres
for($i = 0, $length = rand(2, 10); $i < $length; $i++)
$language .= $alphabet[array_rand($alphabet)];
$language .= ' ';
}
$tableau = array(
'<font color=red><b>soleil</b></font>',
'<font color=red><b>argent</b></font>',
'<font color=red><b>partir vacances</b></font>',
);
$pourcent = round($words*0.05);
$dico=array();
for($fix=0;$fix<$pourcent;$fix++)
{
$dico[]=$tableau[array_rand($tableau)];
}
// On explose l'array pour récupérer les mots
$texteEntier_explode = explode(' ', trim($language));
//On fusionne les 2 tableaux
$list = array_merge($texteEntier_explode, $dico);
// On mélange les mots
shuffle($list);
// On recoupe chaque mot séparé d'un espace
$texteFinal = implode(' ', $list);
echo "$texteFinal";
?>