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 :

motif pour remplacer un mot dans du code HTML ... [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Avril 2003
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 121
    Points : 95
    Points
    95
    Par défaut motif pour remplacer un mot dans du code HTML ...
    ... sans le remplacer dans les balises HTML ou dans leurs attributs.

    Bonjour à tous,

    je cherche un motif pour un ereg_replace qui permettrait de remplacer un mot par un autre. Mon motif marche bien mais me remplace également ce mot dans les attributs de balises HTML (par exemple dans l'attribut alt des images).

    Quel motif je pourrais utiliser pour éviter cela ?

    Par avance merci

  2. #2
    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

    Dans un premier temps, il est toujours préférable d'utiliser les PCRE que les regex POSIX. Elles sont faciles à trouver car elles commencent toutes par preg_.
    Ensuite, je n'aurai pas le temps d'approfindir avec toi mais je peux t'orienter : je pense qu'il te faut chercher du côté des assertions avant/arrières positives/négatives.

  3. #3
    Membre chevronné
    Avatar de ska_root
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2005
    Messages
    1 203
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Août 2005
    Messages : 1 203
    Points : 1 839
    Points
    1 839

  4. #4
    Membre régulier
    Inscrit en
    Avril 2003
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 121
    Points : 95
    Points
    95
    Par défaut
    je vous remercie pour ces docs mais je les ai déjà lu.

    Mon problème est plutôt de trouver un motif qui remplacerait mon mot dans tout le texte sauf dans dans les balises html

  5. #5
    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
    Tiens, je t'ai retrouvé un ancien topic sur le même sujet :
    http://www.developpez.net/forums/viewtopic.php?t=474735

  6. #6
    Membre régulier
    Inscrit en
    Avril 2003
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 121
    Points : 95
    Points
    95
    Par défaut
    C'est super aimable de ta part d'avoir cherché ce topic. La solution n'a pas l'air de marcher tel quel mais je pense que je suis sur la bonne voie.

    Merci beaucoup

  7. #7
    Membre régulier
    Inscrit en
    Avril 2003
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Avril 2003
    Messages : 121
    Points : 95
    Points
    95
    Par défaut
    en fouillant à droite à gauche, je pense avoir trouvé la solution

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    function split_balise($on_recherche, $on_remplace, $subject, 'str_replace', $flag = 1)
    {
       $eval_fct = "mon_rplc('\$1', '\$2', \$de, \$par, '$fct', '$flag')";
       return preg_replace('#((?:(?!<[/a-z]).)*)([^>]*>|$)#ies', $eval_fct, $txt);
    }
    Cette solution fonctionne bien ...

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

Discussions similaires

  1. outil pour remplacer des mots dans un xml
    Par hedibox dans le forum Format d'échange (XML, JSON...)
    Réponses: 2
    Dernier message: 10/10/2013, 12h45
  2. script shell pour remplacer un mot dans un fichier
    Par MSM_007 dans le forum Linux
    Réponses: 2
    Dernier message: 17/06/2010, 20h37
  3. Réponses: 6
    Dernier message: 23/01/2008, 20h45
  4. Remplacer un mot dans le code d’un userform
    Par modus57 dans le forum Macros et VBA Excel
    Réponses: 18
    Dernier message: 29/12/2007, 20h02
  5. [JS] Remplacer les mots dans le code d'une page.
    Par sansamis dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 07/01/2007, 19h06

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