Page 1 sur 2
Modifier un fichier (Html) ...
Posté : 01 avr. 2005, 01:07
par Pierre Paul
Bonjour,
Voila j'aimerai pouvoir modifier des fichiers HTML.
Dans un fichier HTML j'aimerai pouvoir ajouter, après chaque "
<img src="quelque chose" " un "
alt="autre chose" " sans altérer la balise
IMG ?
En faite ajouter apres le
src de chaque image un nouvel attribut.
Est ce possible ?
Et comment ?
Je pourrais le faire a la main mais il y a beaucoup d'images dans beaucoup de fichiers HTML.
Est ce possible aussi de pouvoir changer le "
autre chose", aléatoirement avec du texte différent depuis une liste ?
Merci de vos réponses
Jacques
Posté : 01 avr. 2005, 01:18
par ImBrOgLiO
Je ne cpmrend pas la logique:
Qu'est ce que tu veux dire par aléatoirement?
Parce que si réellement ton objectif est d'ajouter un alt="qq chose" de façon aléatoire, oui c'est possible avec des expressions régulières...mais je ne vois réellement pas la logique!
Est-ce qq chose de ce genre?
- 5 possibilités pour l'alt (de i=1 jusqu'a 5): texte1, texte2, texte3, texte4, texte5.
- Les possibilités ci-dessus à choisir aléatoirement
- lire un fichier et à chaque <img src="">, y a jouter aléatoirement alt="textei"
Posté : 01 avr. 2005, 01:29
par Pierre Paul
Bonsoir ImBrOgLiO,
Oui c'est ce que j'ai essayer d'expliquer ... maladroitement !
Je dois ajouter dans chaque balise "
IMG" un "
alt="quelque chose""
Et ce
quelque chose est un texte, de 3 / 4 mots, prie dans une liste.
Je pensais créer, a part, un fichier avec une liste de texte.
Comme tu dis : Texte01, Texte02, Texte03, etc...
Et que le script pioche dans cette liste pour ajouter à la première balise "
IMG" : Le "
alt="Texte04"".... puis a la seconde balise "
IMG" : Le "
alt="Texte04"" ... etc ...
J'espere avoir été plus clair cette fois
Merci de ta réponse
Jacques
Posté : 01 avr. 2005, 01:36
par ImBrOgLiO
Je ne suis pas férue en expressions régulières (y'a t-il un psy dans la salle?

) mais ça me semble tout à fait jouable. Personnellement je ne voudrais pas t'induire en erreur. La partie aléatoire est relativement aisée mais le reste, j'ai une migraine juste à y penser...
Appel à la communauté!
Posté : 01 avr. 2005, 01:39
par Pierre Paul
Ou c'est bien pour cela que je poste mon message dans ce forum.
A la recherche d'un PHPsy
Comment prendre aléatoirement un texte dans une liste ?
Posté : 01 avr. 2005, 01:51
par ImBrOgLiO
Exemple simple avec 3 textes:
<?php
$texte[1]="Blabla";
$texte[2]="Bloblo";
$texte[3]="Blibli";
srand((double)microtime()*1000000);
$i=floor(rand(1,count($texte)));
echo "alt=\"$texte[$i]\" ";
?>
Posté : 01 avr. 2005, 02:03
par Pierre Paul
Merci
Ca fonctionne...
Je ne connais pas toutes les fonctions utilisées...mais je vais rechercher sur "
www.php.net" pour cela.
Bon il faut que je trouve le moyen d'ajouter ces "alt", dans chaque Balise "IMG"
Merci et bonne fin de nuit
Jacques.
Posté : 01 avr. 2005, 03:42
par ImBrOgLiO
La bible des expressions régulières...au cas où...
http://www.expreg.com/
Posté : 01 avr. 2005, 10:11
par flitox
Avec une expression régulière et l'exemple d'Imbroglio ça pourrait donner ça :
<?php
$texte[1]="Blabla";
$texte[2]="Bloblo";
$texte[3]="Blibli";
srand((double)microtime()*1000000);
$i=floor(rand(1,count($texte)));
$nouveau_texte = preg_replace("!<img src='(.*?)' alt='(.?*)'!i","<img src='\\1' alt='".$texte[$i]."'",$texte_d_origine);
echo $nouveau_texte;
?>
Posté : 01 avr. 2005, 12:41
par Pierre Paul
Merci a vous deux pour les infos supplémentaires.
flitox, je vais essayer avec le code que tu as donné.
Comment le faire sur un série de fichier (HTML) dans un répertoire ?
Et en automatique ?
Merci en tout cas cela m'avance beaucoup
Jacques.
Posté : 01 avr. 2005, 12:43
par flitox
sur un fichier HTML ça donnerait ça :
<?php
$source = @file_get_contents("monfichier.html");
$texte[1]="Blabla";
$texte[2]="Bloblo";
$texte[3]="Blibli";
srand((double)microtime()*1000000);
$i=floor(rand(1,count($texte)));
$nouveau_texte = preg_replace("!<img src='(.*?)' alt='(.?*)'!i","<img src='\\1' alt='".$texte[$i]."'",$source);
echo $nouveau_texte;
?>
Posté : 01 avr. 2005, 12:46
par Pierre Paul
Merci flitox
Juste une petite chose
Le
alt n'y est pas a l'origine... Donc je peux faire ceci ?
Code : Tout sélectionner
$nouveau_texte = preg_replace("!<img src='(.*?)' !i","<img src='\\1' alt='".$texte[$i]."'",$source);
Merci !
Posté : 01 avr. 2005, 12:53
par flitox
Oui bien sûr
Posté : 01 avr. 2005, 12:53
par Pierre Paul
En faite, après mure reflexion, il me semble qu'il serait mieux de pouvoir ajouter dans toutes les balises <IMG> mon fameux ALT.
Et ce juste après le SRC, car il peut y avoir d'autres attibuts après qu'il faut garder :
BORDER, WIDTH, HEIGHT, ... etc
Donc dire, en gros, apres chaque attribut SRC ajouter l'attribut ALT en laissant le reste.
J'aimerai le faire sur tous les fichiers HTML dans un repertoire.
Posté : 01 avr. 2005, 13:08
par Pierre Paul
J'ai essayé le code ... mais cela ne semble pas fonctionner ?
J'ai utilisé le code suivant :
Code : Tout sélectionner
$nouveau_texte = preg_replace("!<img src='(.*?)'!i","<img src='\\1' alt='".$texte[$i]."'",$source);
Il affiche bien la page, avec toutes les images... mais en regardant le sources du document... les
ALT n'apparaissent pas ?
J'ai oublié quelque chose ?