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 chaine de caractères html [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 19
    Points
    19
    Par défaut Remplacer chaine de caractères html
    Bonjour,

    je suis actuellement bloqué sur un problème :

    Je dois rechercher dans une variable (contenant du html) ceci et tout les occurances peuvent lui ressembler:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img width="500" height="500" alt="" src="image.jpg" />
    Une fois trouver il faut la remplacer par :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="image.jpg" width="500" height="500" alt=""  />
    j'ai essayé avec ereg, str_replace, mais je ne m'en sors pas...

    Merci d'avance,
    Alain

  2. #2
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2007
    Messages : 267
    Points : 367
    Points
    367
    Par défaut
    tu cherches un ligne de code ou une partie de code ?

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 19
    Points
    19
    Par défaut
    je recherche juste les ligne de code img

  4. #4
    Membre averti Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Points : 356
    Points
    356
    Par défaut
    quel est l'intérêt..?

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 19
    Points
    19
    Par défaut
    L'intérêt c'est que j'utilise un éditeur Wysiwyg qui mets en place les image comme suit :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img width="500" height="500" alt="" src="image.jpg" />
    et lorsque j'envois ça via mon script de newsletter, ni hotmail, ni gmail n'arrive a lire les images....

    mais si le code est comme suit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="image.jpg" width="500" height="500" alt=""  />
    tout passe parfaitement


    Pour info, la taille, le alt, et le nom de l'image sont bien entendu variable

  6. #6
    Membre averti
    Homme Profil pro
    Responsable des études
    Inscrit en
    Mars 2007
    Messages
    267
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Haut Rhin (Alsace)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2007
    Messages : 267
    Points : 367
    Points
    367
    Par défaut
    A tout hazard la fonction explode ?

  7. #7
    Membre averti Avatar de alceste
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mars 2006
    Messages : 318
    Points : 356
    Points
    356
    Par défaut
    utilise preg_replace()

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par alceste Voir le message
    je vais essayé :d si ça passe pas je vous envoie le code

    merci beaucoup

  9. #9
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 19
    Points
    19
    Par défaut
    voilà j'ai essayé plusieurs choses mais je ne vois pas comment remplacer automatiquement les tailles en les gardant, ainsi que le src ...

    j'ai ceci qui est faut je sais mais j'ai pas plus le reste est encore pire ^^

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    $string = '<img width="500" height="500" alt="" src="http://www.christianevienne.be/news/image/tes/Arno.jpg" />';
     
    $patterns[0] = '/width/';
    $patterns[1] = '/src/'
     
    $replacements[1] = 'width';
    $replacements[0] = 'src';
     
    echo preg_replace($patterns, $replacements, $string);

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 19
    Points
    19
    Par défaut
    Je suis pas doué en expression réguliére non plus et je vois pas trop quoi faire je test mais rien ne passe comme il devrais...

  11. #11
    Rédacteur

    Avatar de Yogui
    Homme Profil pro
    Directeur technique
    Inscrit en
    Février 2004
    Messages
    13 721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Février 2004
    Messages : 13 721
    Points : 29 985
    Points
    29 985
    Par défaut
    Salut

    Pour rappel, tu peux te renseigner ici sur les regex : http://g-rossolini.developpez.com/tu...ns-regulieres/

  12. #12
    Membre du Club
    Profil pro
    Developpeur PHP Magento e-commerce
    Inscrit en
    Juin 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Developpeur PHP Magento e-commerce
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 53
    Points : 51
    Points
    51
    Par défaut
    Si ton éditeur formate les balise <img> toujours de la manière que tu as décrite plus haut, alors ceci devrait marcher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    preg_replace('#<img\s+width="([^"]*)"\s+height="([^"]*)"\s+alt="([^"]*)"\s+src="([^"]*)"\s*/>#',
        '<img src="\\4" width="\\1" height="\\2" alt="\\3"  />',
        $string);
    sinon, les choses sont légèrement plus compliquées.

  13. #13
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 19
    Points
    19
    Par défaut
    Citation Envoyé par GerGalP Voir le message
    Si ton éditeur formate les balise <img> toujours de la manière que tu as décrite plus haut, alors ceci devrait marcher :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    preg_replace('#<img\s+width="([^"]*)"\s+height="([^"]*)"\s+alt="([^"]*)"\s+src="([^"]*)"\s*/>#',
        '<img src="\\4" width="\\1" height="\\2" alt="\\3"  />',
        $string);
    sinon, les choses sont légèrement plus compliquées.
    logiquement il fait toujours le même , je teste de suite merci beaucoup...

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 19
    Points
    19
    Par défaut
    Et bien ça fonctionne parfaitement, je t'en remercierais jamais assez mais merci vraiment...

    Au plaisir de te croisé et de t'aider (on ne sait jamais ^^)

    Alain

  15. #15
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 19
    Points
    19
    Par défaut
    Je viens de voir un léger problème, le regex ne s'applique qu'a la dernière occurance, si j'ai deux images dans ma page, ça passe sur la dernière, et pas les autre...

    je vois pas d'où cela peut provenir

  16. #16
    Membre du Club
    Profil pro
    Developpeur PHP Magento e-commerce
    Inscrit en
    Juin 2005
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Loire (Auvergne)

    Informations professionnelles :
    Activité : Developpeur PHP Magento e-commerce
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 53
    Points : 51
    Points
    51
    Par défaut
    en ajoutant un "Um" après le dernier # du pattern?

  17. #17
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 57
    Points : 19
    Points
    19
    Par défaut
    et bien tu es un génie pour moi ^^

    ça fonctionne parfaites, j'analyse tout ça, m'en empreigne, et me dis que j'aurais du mal mais promis je m'améliorerais

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

Discussions similaires

  1. [Batch] Remplacer chaine de caractère
    Par sdebrois dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 20/08/2009, 10h00
  2. Remplacer chaine de caractères par une autre chaine
    Par unmaxdemily dans le forum SAS Base
    Réponses: 2
    Dernier message: 25/06/2008, 10h11
  3. Réponses: 6
    Dernier message: 05/10/2007, 10h36
  4. conversion chaine de caractères --> HTML
    Par captainflex dans le forum Ruby on Rails
    Réponses: 9
    Dernier message: 17/06/2007, 22h37
  5. remplacer chaine de caractères
    Par taly dans le forum Langage
    Réponses: 5
    Dernier message: 20/09/2006, 15h05

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