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 :

Hexadécimal 0A intempestif [RegEx]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 7
    Points
    7
    Par défaut Hexadécimal 0A intempestif
    Bonjour !
    J'ai un fichier texte de 6 lignes qui contient :

    ligne_1
    ligne_2
    0A
    0A
    0A
    ligne_6
    Un editeur hexadécimal me montre donc la chose, sous la forme :

    ligne_1 0A ligne_2 0A 0A 0A 0A ligne_6 0A 
    Bien sûr, je cherche à supprimer les 3 0A superflus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $buffer = preg_replace("#\x0A\x0A\x0A#", "NULL", $buffer) ;
    Mais ça ne donne rien.
    Une idée ?
    ==
    JLC

  2. #2
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Le code 0A hexadécimal correspond à une fin de ligne. Si tu les vois dans un fichier texte normal, c'est qu'ils ne sont plus encodés en hexadécimal, donc essaie de supprimer les \x de ton expression régulière. Tu peux même essayer simplement un str_replace() :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $buffer = str_replace('0A', '', $buffer);
    Et si tu veux virer la ligne qui va avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $buffer = str_replace("0A\n", '', $buffer);

  3. #3
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Bonjour, merci pour la réponse !
    Les 0A n'apparaissent pas dans dans un éditeur graphique (où je ne vois qu'une ligne vide)
    Ils apparaissent seulement dans un éditeur hexadécimal.
    Ici, j'utilise « gedit » et « bless »
    J'essaye quand même.
    ==
    JLC

  4. #4
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Pourtant tu dis :

    Citation Envoyé par JLC2000 Voir le message
    J'ai un fichier texte de 6 lignes qui contient :

    ligne_1
    ligne_2
    0A
    0A
    0A
    ligne_6
    Donc les 0A apparaissent bien non ? Puisque quand tu regardes avec un éditeur hexa, tu vois les fins de lignes réelles en plus :

    Citation Envoyé par JLC2000 Voir le message
    Un editeur hexadécimal me montre donc la chose, sous la forme :

    ligne_1 0A ligne_2 0A 0A 0A 0A ligne_6 0A 

  5. #5
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    J'essaye quand même.
    ==
    JLC
    Je confirme, ça ne marche pas.
    ==
    JLC

  6. #6
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Peut-être peux-tu nous donner un fichier sur lequel on peut travailler également ?

  7. #7
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Avec toutes mes excuses, ce que je vois dans un éditeur graphique, c'est :


    ligne_1
    ligne_2



    ligne_6

    Encore navré !
    ==
    JLC

  8. #8
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Ok, donc si tu fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $buffer = str_replace("\n\n", '', $buffer);

  9. #9
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    je mets le fichier en pièce jointe
    ==
    JLCpetit_probleme.zip

  10. #10
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Citation Envoyé par Bisûnûrs Voir le message
    Ok, donc si tu fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $buffer = str_replace("\n\n", '', $buffer);
    désolé, ça ne marche pas
    ==
    JLC

  11. #11
    Modérateur
    Avatar de Bisûnûrs
    Profil pro
    Développeur Web
    Inscrit en
    Janvier 2004
    Messages
    9 868
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2004
    Messages : 9 868
    Points : 16 258
    Points
    16 258
    Par défaut
    Avec le fichier que tu nous as donné, si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $content = file_get_contents( __DIR__ . '/petit_probleme.txt' );
    echo str_replace( "\n\n", '', $content );
    Les retours à la ligne sont bien supprimés.

  12. #12
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup, pas le temps de tester.
    Mais je suppose que ça marche évidemment.
    Des nouvelles, dans trois jours.
    Merci encore.
    ==
    JLC

  13. #13
    Futur Membre du Club
    Homme Profil pro
    autre
    Inscrit en
    Août 2014
    Messages
    16
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : autre

    Informations forums :
    Inscription : Août 2014
    Messages : 16
    Points : 7
    Points
    7
    Par défaut
    Merci beaucoup, ça marche.
    Amicalement.
    ==
    JLC

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

Discussions similaires

  1. [LG]Type chaine avec plus de 255 car et EOF intempestif.
    Par jpclabaux dans le forum Langage
    Réponses: 2
    Dernier message: 27/10/2004, 10h39
  2. Warnings intempestifs (tout de suite des grands mots)
    Par Walm dans le forum C++Builder
    Réponses: 4
    Dernier message: 30/04/2004, 20h37
  3. Fonction de conversion de COLORREF en hexadécimal?
    Par charliejo dans le forum MFC
    Réponses: 4
    Dernier message: 21/02/2004, 18h25
  4. question sur l'hexadécimal
    Par Adrael dans le forum C
    Réponses: 9
    Dernier message: 12/06/2003, 19h00
  5. RAZ intempestif de cookie
    Par pram dans le forum XMLRAD
    Réponses: 5
    Dernier message: 27/05/2003, 15h55

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