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 :

Remplacer une image par un texte ou rien [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut Remplacer une image par un texte ou rien
    Bonjour à tous, j'ai une question relativement simple
    En faites, je doit remplacer les images d'un texte qui est enregistrer en base de donnée.
    Donc en gros c'est une news ou du moins une partie de la news afficher en page d'accueil sur un site.
    étant donnée que les images gâche systématiquement la mise en page, je me doit de les remplacer lorsque l'on affiche la news partielle.
    Cependant je ne peux la supprimer totalement, vu que j'en ai besoin dans les archives
    J'ai penser a faire un preg_replace ou un str_replace, j'hésite en faites car il ne faut pas oublier que la balise image peut contenir pas mal de chose:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img alt="pere noel" title="pere noel" src="/public/divers/pere-noel.jpg" />
    Comment obtenir un texte a la place de sa ou simplement supprimer l'entièreté de la balise proprement sans trop alourdir l'exécution.
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Le plus simple me semble l'utilisation des regex. Si toutes tes balises images sont de la forme données, il suffit d'utiliser preg_replace avec l'expression "@<img [^<]*/>@".

    Cette expression trouvera toutes les balises commençant par "<img " et se terminant par " />" sans caractère "<" intermédiaire (pour éviter d'éventuels problèmes de balises imbriquées).

  3. #3
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    merci , genre ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function replaceImg($string){
            $search = array ('@<img [^<]*/>@');
    		$replace = array ('');  
     
           return preg_replace($search, $replace, $string);
    }
    j'avais zapper cette éventualité lol , faut dire je ne suis pas très fortiche en regex
    Un bon ouvrage sur les regex ?
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

  4. #4
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Personnellement, je n'en ai pas lu, donc je ne peux pas t'en conseiller

    Tu as déjà les tutoriels sur dvp : http://php.developpez.com/cours/?page=langage#regexp

    Sinon, jml94 en conseille un sur ce sujet : http://www.developpez.net/forums/d65...cteres-chaine/

  5. #5
    Membre confirmé Avatar de gtraxx
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    1 043
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2006
    Messages : 1 043
    Points : 570
    Points
    570
    Par défaut
    merci tout de même,
    dommage que Oreilly france sois fermée
    Leurs ouvrages sont de bonne référence, je demanderai à la conférence php le 9 décembre .
    Les regex sont une de mes faiblesses
    Au petit déjeuner, je prend du PHP et au souper du jQuery.
    AFUP 2009 : Bien optimiser son code pour le référencement
    Mon projet open source de librairie PHP 5: magix cjquery

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Remplacer une image par une autre
    Par verbose dans le forum Wicket
    Réponses: 19
    Dernier message: 11/05/2011, 01h02
  2. Remplacer une image par une autre
    Par ingeniomatique dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 12/08/2010, 10h05
  3. Réponses: 1
    Dernier message: 09/06/2009, 12h38
  4. Réponses: 4
    Dernier message: 12/06/2008, 17h00
  5. Afficher / Remplacer une image par une autre
    Par dolf13 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 06/02/2007, 19h52

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