Bonjour a tous, tout d’abord, bravo a graphikart pour c'est tutoriels.

Ensuite, le problème.

J'ai des images qui vont être rajouter dans un article à la main pour le moment.
Je voudrais pouvoir mettre automatiquement le système zoombox et donc rajouter le lien autour de l'image.
J'ai essayer de le faire avec simple_html_dom qui nous à été montrer hier mais là probleme, le parseur ne fonctionne correctement que avec les balises qui ont une fin tel que les p div et autre mais les images car l'ajout d'un lien autour nous donne un lien rajouter tout a la fin a un endroit ou il n'y a pas d'image n'y rien qui devrait apparaitre.
En gros, il y a un lien qui se balade.

D'ou m'as question, savez vous comment rajouter des liens automatiquement autour d'un image avec simple_html_dom ou bien avec d'autre outil (les regex ne parvenant par a s'arreter au img)?

3 réponses


Grafikart
Réponse acceptée

Tu n'y arrive pas avec simple_html_dom ? Même en suivant le tutoriel et la doc ? Au pire peux-tu donner le code que tu as essayé ?

Yop,

Peut on avoir le resultat obtenu, ainsi que le code source de la page (ou du moins les 10 ligne avant et après). Je n'ai pas encore testé simple_html_dom, mais pour les regex je pourrais ptete t'aider ^^

Voila le code qui ressort en direct.

<div id="article">
    <h3>Bienvenue sur 2ER</h3>
    <div>
        Et maintenant le complement est present.
        <img src="http://www.smart-creation.com/2er/img/upload/P6060057.jpg" alt="Premiere image" class="vignette"><br>
        Et un texte en dessous
    </div>
</div>
<div id="footer">

Une fois manipuler, voila ce qui s’écrit:

<div id="article">
    <h3>Bienvenue sur 2ER</h3>
    <div>
        Et maintenant le complement est present.
        <a href="http://www.smart-creation.com/2er/img/upload/P6060057.jpg" title="Premiere image" class="zoombox">
            <img src="http://www.smart-creation.com/2er/img/upload/P6060057.jpg" alt="Premiere image" class="vignette"/><br>
            Et un texte en dessous
    </div>
</div>
<div id="footer">

Il y manque le </a> et avec firebug, il est bien présent mais entoure aussi les textes qui sont après l'image.

et voila le code que j'utilise:

<?php
    echo'<h3>'.$article'name'].'</h3>
    <div>
    ';
    $html_pars->load($article'texte']);
    foreach($html_pars->find('img') as $img){
        $img->tag='a href="'.$img->getAttribute('src',0).'" title="'.$img->getAttribute('alt',0).'" class="zoombox"><img';
    }
    echo $html_pars->outertext;
    $html_pars->clear;
    echo'
    </div>';
?>

Ce que je cherche a faire:
transformer :

<img src="http://www.smart-creation.com/2er/img/upload/P6060057.jpg" alt="Premiere image" class="vignette"><br>

en :

<a href="http://www.smart-creation.com/2er/img/upload/P6060057.jpg" title="Premiere image" class="zoombox">
    <img src="http://www.smart-creation.com/2er/img/upload/P6060057.jpg" alt="Premiere image" class="vignette"/>
</a><br>

Ceux qui le souhaite, peuvent avoir la version en ligne sur: http://www.smart-creation.com/2er/

Je tiens à préciser, que les textes sont enregistrer en base de donnée, sous utf8_general_ci et que je cherche a faire ainsi car je n'est pas encore le temps de mettre un éditeurs "évoluer" sur lequel je puisse interagir facilement. Mon client devront donc copier des code déjà préparer le temps que je termine sont implémentation et je ne tiens pas a leur faire copier trois tonnes de code pour faire un lien.
Je vous remercie de votre aide.