WRInaute accro
La galerie que j'ai développée est assez complète. Je peux charger 4 images par article, il y a un chapo, le corps de l'article, des tags, possibilité de lien externe en bas des articles. Tout ceci est géré automatiquement. Mais pour l'instant, les 4 images, si elles sont chargées, vont s'afficher en haut de l'article les unes en dessous des autres.
Je voudrais coder un truc pour pouvoir les positionner où je veux dans mon article, avec un float left, un float right, centrée ou cadrée à gauche ou à droite.
J'ai imaginé insérer dans le corps de mon article des codes de mise en forme qui seront utilisés par le script au moment de l'affichage.
Exemple de codes :
<IMAGE2FL> pour un float left de la seconde image
<IMAGE2G> pour un cadrage à gauche de la seconde image puis retour à la ligne (facile)
<IMAGE2D> pour un cadrage à droite de la seconde image puis retour à la ligne (un float ou un tableau)
<IMAGE2FR> pour un float right
<IMAGE2C> pour centrer (facile)
Les mêmes balises persos seront utilisées avec les images 1, 2, 3 et 4
Le problème va survenir quand je vais vouloir coder les DIV avec les float
Le corps du texte va se présenter comme ceci :
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blabla blablabla blablablabla blablablablablablabla blablablabla blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
<IMAGE2FL>
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blabla blablabla blablablabla blablablablablablabla blablablablablablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blabla blablabla blablablabla blablablablablablabla blablablabla blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
C'est simple de coder la DIV avec le float left à la place de la balise (un simple remplacement avec un morceau de code en litéral et le nom des images pris dans la base). Mais ensuite, il faudrait que j'encadre toute la suite dans une nouvelle DIV. Jusque là rien de compliqué, je referme la DIV à la fin de mon contenu. Sauf si j'ai une seconde balise un peu plus loin. Il faudrait que la fermeture de la DIV ne se fasse pas à la fin du contenu mais juste avant l'ouverture de la seconde balise DIV, comme ceci :
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blabla blablabla blablablabla blablablablablablabla blablablabla blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
<DIV style="float:left;"><img src="www.example.com/nomdelimage2.jpg alt="titre de l'image2"></DIV><DIV>
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blabla blablabla blablablabla blablablablablablabla blablablablablablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla</DIV>
<DIV style="clear:both; float:right;"><img src="www.example.com/nomdelimage3.jpg alt="titre de l'image 3"></DIV><DIV>
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blabla blablabla blablablabla blablablablablablabla blablablabla blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla</DIV>
Auriez-vous une solution à me proposer pour coder ceci le plus simplement possible en php, sans avoir à exploser mon contenu en plusieurs morceaux que j'assemblerai par la suite les uns à la suite des autres avec les images qui s'intercalent entre chaque morceau ? Une expression régulière peut-être ? Cette expression positionnerait les <DIV> ouvrantes et fermantes et ensuite je n'aurai plus qu'à remplacer le nom des images (IMAGE2, etc...) par les infos trouvées en base. S'il ne reste que ça c'est simple à faire.
Notez que chaque image n'est pas forcément affichée dans l'ordre (je peux utiliser la 4 avant la 2, par exemple), je peux même utiliser la même image plusieurs fois.
Actuellement je code directement du html à l'intérieur de mes articles, c'est fastidieux
Je voudrais coder un truc pour pouvoir les positionner où je veux dans mon article, avec un float left, un float right, centrée ou cadrée à gauche ou à droite.
J'ai imaginé insérer dans le corps de mon article des codes de mise en forme qui seront utilisés par le script au moment de l'affichage.
Exemple de codes :
<IMAGE2FL> pour un float left de la seconde image
<IMAGE2G> pour un cadrage à gauche de la seconde image puis retour à la ligne (facile)
<IMAGE2D> pour un cadrage à droite de la seconde image puis retour à la ligne (un float ou un tableau)
<IMAGE2FR> pour un float right
<IMAGE2C> pour centrer (facile)
Les mêmes balises persos seront utilisées avec les images 1, 2, 3 et 4
Le problème va survenir quand je vais vouloir coder les DIV avec les float
Le corps du texte va se présenter comme ceci :
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blabla blablabla blablablabla blablablablablablabla blablablabla blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
<IMAGE2FL>
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blabla blablabla blablablabla blablablablablablabla blablablablablablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blabla blablabla blablablabla blablablablablablabla blablablabla blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
C'est simple de coder la DIV avec le float left à la place de la balise (un simple remplacement avec un morceau de code en litéral et le nom des images pris dans la base). Mais ensuite, il faudrait que j'encadre toute la suite dans une nouvelle DIV. Jusque là rien de compliqué, je referme la DIV à la fin de mon contenu. Sauf si j'ai une seconde balise un peu plus loin. Il faudrait que la fermeture de la DIV ne se fasse pas à la fin du contenu mais juste avant l'ouverture de la seconde balise DIV, comme ceci :
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blabla blablabla blablablabla blablablablablablabla blablablabla blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
<DIV style="float:left;"><img src="www.example.com/nomdelimage2.jpg alt="titre de l'image2"></DIV><DIV>
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blabla blablabla blablablabla blablablablablablabla blablablablablablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla</DIV>
<DIV style="clear:both; float:right;"><img src="www.example.com/nomdelimage3.jpg alt="titre de l'image 3"></DIV><DIV>
blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla
blabla blablabla blablablabla blablablablablablabla blablablabla blablabla blabla bla blablablabla blabla blabla blablabla blablablabla blablablablablablabla blablablabla</DIV>
Auriez-vous une solution à me proposer pour coder ceci le plus simplement possible en php, sans avoir à exploser mon contenu en plusieurs morceaux que j'assemblerai par la suite les uns à la suite des autres avec les images qui s'intercalent entre chaque morceau ? Une expression régulière peut-être ? Cette expression positionnerait les <DIV> ouvrantes et fermantes et ensuite je n'aurai plus qu'à remplacer le nom des images (IMAGE2, etc...) par les infos trouvées en base. S'il ne reste que ça c'est simple à faire.
Notez que chaque image n'est pas forcément affichée dans l'ordre (je peux utiliser la 4 avant la 2, par exemple), je peux même utiliser la même image plusieurs fois.
Actuellement je code directement du html à l'intérieur de mes articles, c'est fastidieux