IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Ajouter un lien à toutes les images d'un texte


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 17
    Par défaut Ajouter un lien à toutes les images d'un texte
    Bonjour,

    cela fait maintenant plusieurs heures que j'essaie de résoudre le problème ci-dessous :

    J'ai en entrée un texte composé de 0 à N "<img src='image.jpg />'".

    Mon but est de transformé toutes ces images par : <a href="image.jpg"><img src='image.jpg />'</a>.

    Le href doit prendre le contenu de src pour chacun des images (elles sont toutes différentes).


    Votre aide me serait précieuse car je ne sais plus comment retourner le problème.

    Merci d'avance.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Montre nous ce que tu as fait, on pourra te dire pourquoi ca ne marche pas et ce qu'il faut faire.

    Grossierement ca doit ressembler à ca (je n'ai pas validé que ca fonctionnait)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $text = preg_replace('/<img src="(.*)">/Usi', '<a href="\\1"><img src="\\1"></a>', $text);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 17
    Par défaut
    Hello sabotage,

    Merci pour ta réponse.

    J'étais arrivé à ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $regImage='/<img.*src="(.*?)".*>';
    $image =preg_replace ($regImage,"<a class=\"thickbox\" href=\\1?height=600&amp;width=690><img src=\\1></a>",$image);

    J'ai pris ta pattern voici le résultat :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $regImage='/<img src="(.*)">/Usi';
    $image =preg_replace ($regImage,"<a class=\"thickbox\" href=\\1?height=600&amp;width=690><img src=\\1></a>",$image);
    Cette partern prend en compte mes 2 images que j'ai dans mon texte, ce que je n'avais pas.
    Par contre il y a toujours un problème au niveau du lien.

    le résultat est visible ici : http://new.union-ch.org/test.php


    Merci pour tout.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Août 2007
    Messages
    17
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2007
    Messages : 17
    Par défaut
    Voici la solution à mon problème :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    $regImage='/<(\/?)img src="(.*?)"(.*?)>/';
     
    $image =preg_replace ($regImage,"<a href=\"\\2\"><img src=\"\\2\" \\3 ></a>",$image);
    Je capture le contenu de src du " à l'autre ", puis je capture le reste des mes balises de mon image (width, etc..) jusqu'au >

    Enfin je remplace ce que j'ai trouvé par un a href=le src capturé et je reconstitue mon image à l'aide du contenu du src et du reste de mes balises.

    Je pense qu'il y a plus élégant, mais ça fonctionne.

Discussions similaires

  1. Copier toute les images jpg et bmp d'un répertoire
    Par ShortcutZ dans le forum VB 6 et antérieur
    Réponses: 12
    Dernier message: 08/09/2006, 17h00
  2. imprimer toutes les images d'un dossier
    Par chat84 dans le forum Access
    Réponses: 1
    Dernier message: 19/05/2006, 15h45
  3. afficher toutes les images en meme temps
    Par dietrich dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 04/04/2006, 13h18
  4. Réponses: 1
    Dernier message: 18/02/2006, 19h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo