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 :

Remplacement de texte [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de tom06440
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Par défaut Remplacement de texte
    Bonjour à tous

    Quelqu'un aurait-il solution simple pour remplacer du texte dans une chaine avec php, mais avec une condition.

    En fait j'aimerais supprimer du code html (jusque la tout va bien j'ai un code qui marche) mais uniquement entre certaines balises par exemple entre { et }.

    Il faudrait donc que j'ai une fonction qui analyse la chaine, et appel ma fonction à chaque occurrence de chaine commençant par { et finissant par } afin supprimer le code html contenu.

    J'espère m'être bien expliqué, dans l'attente de votre aide
    @ bientôt
    Thomas

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    7 920
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 7 920
    Par défaut
    hello, avec un regexp ca serait : {(.*?)}
    mais ta un exemple concret de ce que tu veux faire ?

  3. #3
    Membre confirmé Avatar de tom06440
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Par défaut
    Ouaww quelle rapidité pour ta réponse !

    En fait j'ai des fichiers html (mini template) qui contiennent des variables {mavariable} que mon code remplace sans problème.
    Le soucis c'est que ces fichiers html peuvent être édités par un wysiwig (TynyMCE) et des fois les personnes qui éditent ne sélectionne pas {ma_variable} pour changer par exemple la couleur, mais juste ma_variable.
    Ce qui fait que du code html est ajouté entre les balises { }, et je voudrais supprimer le code html uniquement entre les parenthèses et garder le nom de la variable.

    Pour supprimer le code html (balises html et caractères html), j'ai déjà une fonction qui marche très bien. Mais elle convertit l'intégralité du fichier et pas que entre les { }

    merci

  4. #4
    Membre Expert
    Avatar de Eric2a
    Homme Profil pro
    Technicien
    Inscrit en
    Septembre 2005
    Messages
    1 225
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Corse (Corse)

    Informations professionnelles :
    Activité : Technicien

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 225
    Par défaut
    Salut,

    Le code ci-dessous permet d'appeler la fonction strip_tags() pour chaque portion de chaine située entre les crochets.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    // Fonction de callback
    function noHTML($m){
    	return strip_tags($m[1]);
    }
     
    // Remplacement
    $str=preg_replace_callback('/\{(.+?)\}/s','noHTML',$str);

  5. #5
    Membre confirmé Avatar de tom06440
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Par défaut
    Salut Eric

    Merci de ta réponse, c'est exactement ce que je recherchais

    @ bientôt en corse peut être

  6. #6
    Membre confirmé Avatar de tom06440
    Homme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2004
    Messages
    150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2004
    Messages : 150
    Par défaut
    Je reviens vers toi, car la fonction marche très bien.
    Par contre, je vais l'utiliser dans une classe, et j'appelle mes fonctions de cette façon habituellement : $this->maFonction();
    Et du coup la de mettre que le nom de la fonction entre ' ' ça bug

    Merci d'avance de ton aide (ou de votre aide si quelqu'un d'autre à la solution)

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

Discussions similaires

  1. Programme de remplacement de texte dans des fichiers
    Par Invité4 dans le forum Linux
    Réponses: 13
    Dernier message: 12/11/2006, 17h06
  2. remplacer du texte dans un tableau généré
    Par jcaruana dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 08/02/2006, 17h36
  3. Comment remplacer un texte ?
    Par EssaiEncore dans le forum Langage
    Réponses: 8
    Dernier message: 09/12/2005, 12h42
  4. Remplacer un texte par un autre
    Par Guillaume602 dans le forum C++
    Réponses: 3
    Dernier message: 24/11/2005, 01h40
  5. [langage] Remplacer du texte dans un fichier
    Par Michaël dans le forum Langage
    Réponses: 9
    Dernier message: 11/03/2005, 16h19

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