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 :

Transformation de texte "a[id][b]" en "a[][b]"


Sujet :

Langage PHP

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Points : 396
    Points
    396
    Par défaut Transformation de texte "a[id][b]" en "a[][b]"
    Bonjour,

    Quasiment tout est dit dans le titre mais pour préciser mon propos j'aurais besoin de transformer une chaine de caractères en une autre.

    Chaine en entrée : "text[integer][text]" ;
    Chaine en sortie : "text[][text]".

    Je pourrais faire un parsing brut en cherchant la première occurrence de '[', supprimer tout le texte jusqu'à trouver le caractère ']'. Mais je trouve ça assez crade.

    Existe-t-il un moyen, en passant par exemple par une regex, pour supprimer les occurrences des integer qui répondent à la regex "[integer]" ?

    Merci pour vos idées !

  2. #2
    Membre régulier Avatar de Chris_Dupasquier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2010
    Messages : 67
    Points : 85
    Points
    85
    Par défaut
    Hello,

    Est-ce que cela peut te servir ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <?php
    $maChaine = "maChaine[Integer]";
    $patterns[0] = '#\[(.+)\]#';
    //Ici ce que tu veux entre les crochets, en l'occurence vide pour toi
    $replacements[0] = ' ';
    $maChaineFinalise = preg_replace($patterns, $replacements, $string);
     
    echo $maChaineFinalise;
    ?>
    A +
    La logique est une manière méthodique de se tromper en toute confiance.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 396
    Points : 396
    Points
    396
    Par défaut
    Tout à fait !!

    J'obtiens bien ce que je veux avec un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    		$chaine = "text1[120][text2]";
    		$pattern = '#[(0-9)+]#';
    		$replacement = '';
     
    		print_r(preg_replace($pattern, $replacement, $chaine));
    Merci pour l'idée du preg_replace

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

Discussions similaires

  1. transformer champ texte d'une table vers champ date
    Par mussara dans le forum Requêtes
    Réponses: 2
    Dernier message: 26/01/2007, 22h17
  2. [HTML-Kit] Transformer un texte à accents
    Par calogerogigante dans le forum Outils
    Réponses: 13
    Dernier message: 18/06/2006, 15h08
  3. Réponses: 5
    Dernier message: 19/05/2006, 14h29
  4. Transformer du texte en date
    Par banker dans le forum Access
    Réponses: 3
    Dernier message: 20/01/2006, 08h41
  5. Excel:probleme pour transformer du texte en nombre par macro
    Par pcheval dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 09/11/2005, 22h18

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