Aléatoire pas vraiment aléatoire

Pierre Paul
Invité n'ayant pas de compte PHPfrance

02 avr. 2005, 14:46

Bon j'ouvre un autre post pour cette question.


J'ai le code :

Code : Tout sélectionner

if ( file_exists($fichier) ) { $fichier = implode( '', file($fichier) ); $cpt = 0; $fp = fopen("liste.txt", "r"); while (!feof($fp)) { $enr = fgets($fp); $tab[] = $enr; $cpt++; } srand((double)microtime()*1000000); $nbr = rand(0, ($cpt-2)); $fichier2= preg_replace("!<img src='(.*?)'!i","<img src='\\1' alt='".$tab[$nbr]."'",$fichier) ; echo htmlentities($fichier2); }
Qui fonctionne très bien... Sauf que j'aimerai qu'il change de texte dans la même page.

Actuelement sur toutes les balises IMG il ajoute bien l'attribut ALT avec toujours le même mot.

Code : Tout sélectionner

<img src='image1.jpg' alt='mot1'> <img src='image2.jpg' alt='mot1'> <img src='image3.jpg' alt='mot1'> ...
Alors que j'aimerai voir :

Code : Tout sélectionner

<img src='image1.jpg' alt='mot5'> <img src='image2.jpg' alt='mot1'> <img src='image3.jpg' alt='mot13'> ...
Comment puis-je faire ?

Merci de votre aide

Jacques.

Modérateur PHPfrance
Modérateur PHPfrance | 6373 Messages

02 avr. 2005, 22:35

sauf erreur, tu ne génères qu'une seule fois un nombre aléatoire ici et tu insères tous tes alt en une seule fois dans ton preg_replace donc il prend tjrs ce nombre comme indice de ton tableau pour insérer ton alt