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 :

preg_replace et [^[:graph:]]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut preg_replace et [^[:graph:]]
    Bonjour,

    Le problème :

    Normalement cette action devrait supprimer que caractères invisibles (et les caractères qui ne sont pas ascii ? ).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo preg_replace("#[^[:graph:]]#", '', 'exemple avec accent é et ø');
    Sous Windows j'obtiens :"exempleavecaccentéetø'"
    Sous Mac ou Linux : "exempleavecaccentet'"

    Mes tentatives :
    J'ai essayé plusieurs versions de php (php 5, php 5.2.x, 5.3.5), de changer l'encodage de la page (iso-8859-1, UTF-8 etc..) sous différent logiciel (eclips, dreaweaver, coda).
    J'ai essayé tout ceci sur Mac, Linux et windows xp.

    Le problème reste le même, j'ai l'impression de ne plus avancer malgré de nombreuse recherche sur Google. Je me tourne donc vers vous afin d'être guidé vers la bonne recherche à effectuer, car vraisemblablement je ne cherche pas la bonne chose.

  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
    rajoute l'option u (PCRE8)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    Citation Envoyé par stealth35 Voir le message
    rajoute l'option u (PCRE8)
    J'ai essayé ce que tu m'as dit sous Linux, Windows et Mac. Ça corrige bien le problème sur Linux (ce qui est le plus important pour moi) mais quand je suis sur le Mac la chaine retournée est vide.

    Edit :
    MAC os x 10.6.5 j'utilise MAMP php 5.3.2 et 5.2.13

  4. #4
    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
    Citation Envoyé par nasuu Voir le message
    J'ai essayé ce que tu m'as dit sous Linux, Windows et Mac. Ça corrige bien le problème sur Linux (ce qui est le plus important pour moi) mais quand je suis sur le Mac la chaine retournée est vide.

    Edit :
    MAC os x 10.6.5 j'utilise MAMP php 5.3.2 et 5.2.13
    et si tu fais ca :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo preg_replace('/\P{Xan}/u', '', 'exemple avec accent é et ø');
    EDIT : autant faire ca ducoup

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo preg_replace('/\s/', '', 'exemple avec accent é et ø');

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 48
    Par défaut
    Je te remerci beaucoup !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace("#(?![ \n])[^[:graph:]]#S", '', $value);
    J'utiliser ceci, mais je me suis rendu compte après coup qu'il supprimer des caractères valides en iso-8859-1.
    Le problème semble résolu sur tous les confins. Encore merci.

  6. #6
    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
    Citation Envoyé par nasuu Voir le message
    Je te remerci beaucoup !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_replace("#(?![ \n])[^[:graph:]]#S", '', $value);
    J'utiliser ceci, mais je me suis rendu compte après coup qu'il supprimer des caractères valides en iso-8859-1.
    Le problème semble résolu sur tous les confins. Encore merci.
    tu peux le simplifier ton expression, tu veux juste supprimer les espaces non ?

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

Discussions similaires

  1. Classe pour la création d'un graphe xy
    Par Bob dans le forum MFC
    Réponses: 24
    Dernier message: 03/12/2009, 17h20
  2. [Turbo Pascal] [Windows XP] Problème avec l'unité GRAPH
    Par themofleur dans le forum Turbo Pascal
    Réponses: 22
    Dernier message: 29/03/2003, 22h43
  3. Perl & Graphes
    Par makram9999 dans le forum Modules
    Réponses: 4
    Dernier message: 24/03/2003, 11h24
  4. [] [Excel] Exporter un graphe MSChart vers Excel
    Par Gonzo dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/12/2002, 17h49
  5. Concerne les graphes
    Par mcr dans le forum Algorithmes et structures de données
    Réponses: 10
    Dernier message: 12/11/2002, 11h02

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