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 le caractère & dans une chaine


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    recherche d'emploi
    Inscrit en
    Avril 2022
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : recherche d'emploi

    Informations forums :
    Inscription : Avril 2022
    Messages : 88
    Points : 48
    Points
    48
    Par défaut Supprimer le caractère & dans une chaine
    Bonjour,
    J'ai ce code pour trier les balises qui fonctionne à merveille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
     
    <?PHP
    function triBalises()
    {
     
        $baliseStart ='4';
         $baliseEnd ='4';
        $nature = $_SESSION['Balises2'];
        echo $_SESSION['Balises2'].'<br> TRIBALISE <br><br>';
        // Traitement du début de la chaine.
        $pos = strpos($nature, $baliseStart);
        $_SESSION['BalisesStart'] = substr($nature,0,$pos);
        echo 'BaliseStart ==>'.$_SESSION['BalisesStart'].'<br> TRI BALISESTART <br><br>' ;
     
     
    //Traitement de fin de chaine.
    $nature_inversee = strrev($nature); //on inverse la string
     
    $baliseEnd ='4';
     
    $pos = strpos($nature_inversee, $baliseEnd); //position du caractère 4 dans la string inversée
    $_SESSION['BalisesEnd'] = substr($nature_inversee,0, $pos);
    $_SESSION['BalisesEnd'] = strrev( $_SESSION['BalisesEnd']);
    echo 'BaliseEnd ==>'.$_SESSION['BalisesEnd'].'<br> TRI BALISES END <br><br>'; //Doit donner la fin de la chaine des balises.
     
    // Concaténation des chaines.
    $_SESSION['BaliseNew'] = $_SESSION['BalisesStart']. $_SESSION['Balises3'].$_SESSION['Balises4'].$_SESSION['BalisesEnd'] ;
    $_SESSION["BalisesGeneral"] = $_SESSION["BaliseNew"];
    echo 'BaliseTotale ===>'.$_SESSION['BalisesGeneral'].'<br> tri balises';
     
    }
        ?>
    Seulement si dans la balises le chiffre 4 existe, cela coupe la balise ce qui est normal.
    J'ai donc remplacé la valeur de $page par &.
    Mais je ne sait comment lui dire de retirer le & dans le preg_replace.
    la chaine est bien trié mais il reste le &5
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    [ADC_START][SDP][GUICHET][DEM][USER_CMDB_DIF_NON]&5[DEM_PDT_PCF < AE_PC9[RDV_NON][RDV_BAL][RSDP_NC][COMMENT/NO][REGUL_NON][DEM_PDT_PCF < AE_PC444444444>< TPX_1>][ba5e0bf9][7/06/2022 18:40:53][Version_2.02][ADC_END]
    Voici le code pour preg_replace.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // Traitement des chiffres.
    $chaineAvecChiffres = $_SESSION['BalisesGeneral'];
    $chaineSansChiffres = preg_replace('/\]\d+\\[/', '][', $chaineAvecChiffres);
    $_SESSION["BalisesGeneral"] = $chaineSansChiffres;
    echo $_SESSION["Balises2"].'<br>Balises2<br><br>'.$_SESSION["Balises3"].'<br>Balises3<br><br>'.$_SESSION["Balises4"].'<br>Balises4<br><br>'.$_SESSION["BalisesGeneral"].'<br>BaliseGénérale<br><br>'."IF sans chiffres'";
    Merci

  2. #2
    Membre du Club
    Homme Profil pro
    recherche d'emploi
    Inscrit en
    Avril 2022
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : recherche d'emploi

    Informations forums :
    Inscription : Avril 2022
    Messages : 88
    Points : 48
    Points
    48
    Par défaut
    Bonjour,
    J'ai rajouté ce code juste après le premier preg_replace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    // Traitement des caractères.
    $chaineAvecCaractere = $_SESSION['BalisesGeneral'];
    $chaineSansCaractere = preg_replace('/\]\&+\[/', '][', $chaineAvecCaractere);
    $_SESSION["BalisesGeneral"] = $chaineSansCaractere;
    echo $_SESSION["Balises2"].'<br><br>'.$_SESSION["Balises3"].'<br><br>'.$_SESSION["Balises4"].'<br><br>'.$_SESSION["BalisesGeneral"].'<br><br>'."IF sans Caractere'";
    Est-il possible de faire un seul code?
    Merci

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    175
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Seine et Marne (Île de France)

    Informations forums :
    Inscription : Octobre 2009
    Messages : 175
    Points : 138
    Points
    138
    Par défaut
    Il faudrai que tu nous donne la valeur contenu dans $chaineAvecCaractere ainsi que la valeur que tu veux obtenir après traitement.
    ça va être difficile de t'aider sans ça.

Discussions similaires

  1. Supprimer tous les blancs dans une chaine de caractères
    Par joel74 dans le forum PostgreSQL
    Réponses: 5
    Dernier message: 20/02/2014, 16h19
  2. Réponses: 5
    Dernier message: 26/12/2005, 19h31
  3. [PERL]Nombre d'un caractère présent dans une chaine
    Par LE NEINDRE dans le forum Langage
    Réponses: 3
    Dernier message: 06/10/2005, 13h58
  4. [Jsp] Supprimer les caractère spéciaux d'une chaine
    Par PeteMitchell dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 13/05/2004, 11h11
  5. Réponses: 2
    Dernier message: 12/01/2004, 13h56

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