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 :

Supprimer des caractères d'une chaine [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut Supprimer des caractères d'une chaine
    Bonjour à tous,

    Petite question
    J'aimerai supprimer tout les caracteres compris entre deux caractere specifiques.
    Je m explique dans mon cas j aimerai supprimmer tous ce qui est entre les caractere -- et le mot 'fin'
    je voudrais utiliser la fonction preg_replace de php pour le faire.
    Merci.

  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
    Qu'as-tu déjà écrit avec preg_replace ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut
    j ai deja ecris ca :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    $string = "... --Texte aleatoire à supprimer fin.... ";
    $pattern = "/(\--\/?)(\w+)([^\)]*\fin)/";
    $replacement = ' ';
    echo preg_replace($pattern, $replacement, $string);

  4. #4
    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
    Héhé c'est le carnaval.
    Par exemple pourquoi mettre un \ devant fin ?
    Tu n'as pas non plus besoin de parenthèses capturantes puisque tu veux supprimer.

    en fait il reste tout simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo preg_replace("#--.+fin#","--fin", "... --Texte aleatoire à supprimer fin.... ");
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Attention au caractère greedy de .+

    J'utiliserais plutôt


  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut
    C est quoi exactement la difference?
    Eentre les deux
    et


  7. #7
    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
    le "?" rend l'élement "ungreedy"

    Quand ton expression est "greedy" elle cherche à être la plus grande possible.
    Quand ton expression est "ungreedy"elle s'arrête dés que ca correspond.

    --totofin--titifin
    greedy renverrait : totofin--titi
    ungreedy renverrait toto et titi
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 55
    Par défaut
    Ok en effet c est pas pareil et la precision est tres importante
    Merci.

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

Discussions similaires

  1. Supprimer des mots dans une chaine de caractères
    Par Sanceray3 dans le forum Langage
    Réponses: 3
    Dernier message: 31/08/2009, 11h04
  2. Supprimer des caractères dans une chaine
    Par bahamut100 dans le forum Langage
    Réponses: 3
    Dernier message: 12/02/2009, 10h25
  3. Supprimer des caractères d'une chaine
    Par femtoserv dans le forum Access
    Réponses: 6
    Dernier message: 26/02/2007, 10h24
  4. [Tableaux] Supprimer des caractères dans une chaine
    Par ddubois dans le forum Langage
    Réponses: 10
    Dernier message: 16/12/2006, 13h53
  5. [VB6] Supprimer des caractères d'une chaine
    Par Overflow64 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 13/10/2005, 10h26

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