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 les espaces, tabulations et retour à la ligne [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut Supprimer les espaces, tabulations et retour à la ligne
    Bonjour,

    je me prends la tête depuis pas mal de temps pour arriver à supprimer les espaces blancs, retour à la ligne, tabulation etc d'un fichier html que j'ouvre.

    Je fais un truc du genre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $file = file_get_contents($url);
     
    $notags=html_entity_decode($file);
    	die(var_dump($notags));

    Le var_dump m'indique :

    string(1645) " contactez-nous-newsletter-plan du site EntrepriseProduitsInvestisseursRéférencesPrix de l'acier/zincPresseContact Entreprise La société Fixinox, c'est : Plus de 15 ans d’expérience dans la transformation de l’acier galvanisé, de l’acier inoxydable et dans la conception de fixations pour les façades complexes pour une contribution majeure à la réduction des émissions à effets de serres Des solutions « sur mesure » Une fabrication dans son propre atelier (Charleroi) par du personnel qualifié Des délais de fabrication et de livraison courts Toute une équipe à votre disposition, de l’élaboration de vos projets jusqu’à la réalisation Un bureau d’étude compétent et dynamique Des conseils et des solutions donnés par des professionnels Des offres de prix claires et précises Un service personnalisé. Voir l'organigramme Voir l'interview/présentation de Canal Z Actualités La première cotation sur Euronext de Fixinox a eu lieu le jeudi 24 janvier 2008. Lire la suite var menuids=['suckertreeR0'] // Id des menus verticaux séparés par des virgules "
    Mais il n'y a jamais 1645 là dedans!!

    D'ailleurs quand j'affiche le code source de la page html générée par le die(var_dump($notags)), je peux voir plein de ligne blanche espaçant les parties de texte et je ne sais vraiment pas comment m'en débarasser...

    Une idée?

    Merci

  2. #2
    Rédacteur

    Avatar de Yoteco
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    1 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Suisse

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 099
    Points : 2 498
    Points
    2 498
    Par défaut
    Faire une petite expression régulière puis un preg_replace... Mais je ne maîtrise pas assez les regex pour te la faire sorry.
    Blog - Mon espace developpez -
    Oracle Certified Professional, Java SE 6 Programmer
    eZ Publish Certified developer

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Bonjour,
    pas besoin de REGEX, un petit str_replace() peut faire l'affaire, non?

    Cordialement,
    DaRiaN.

  4. #4
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut
    Salut,

    j'ai déjà essayé ce genre de chose,

    cependant, faire un str_replace(' ', '', $chaine); ce n'est pas suffisant...

    Il faut remplacer quels caractères? pour virer les sauts de ligne, tabulations, espace etc?

    Merci.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Points : 631
    Points
    631
    Par défaut
    Généralement, ceci fonctionne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <?php
     
      $contents = file_get_contents($fichier);  
      $search = array(' ', "\t", "\n", "\r");
      $contents = str_replace($search, '', $contents);
     
    ?>

  6. #6
    Membre confirmé Avatar de Sayrus
    Profil pro
    Inscrit en
    Décembre 2005
    Messages
    899
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2005
    Messages : 899
    Points : 570
    Points
    570
    Par défaut
    Effectivement ça marche!

    J'ai juste enlevé ' ' de l'array $search car je veux quand même garder de simples espaces entre les mots

    Merci beaucoup!

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

Discussions similaires

  1. [RegEx] Supprimer les espaces en trop et retour a la ligne
    Par Guillomme dans le forum Langage
    Réponses: 4
    Dernier message: 19/08/2009, 16h45
  2. [XSLT] Gestion des espaces, tabulations et retours à la ligne
    Par Pragmateek dans le forum XSL/XSLT/XPATH
    Réponses: 10
    Dernier message: 15/05/2008, 15h47
  3. Supprimer les espaces en fin de ligne
    Par papyreno dans le forum Eclipse Java
    Réponses: 8
    Dernier message: 21/02/2008, 22h11
  4. Réponses: 2
    Dernier message: 03/01/2008, 15h11
  5. supprimer les espaces en debut de ligne
    Par makohsarah dans le forum Langage
    Réponses: 5
    Dernier message: 10/08/2006, 12h55

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