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 retours chariots de trop


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Par défaut Supprimer les retours chariots de trop
    Bonjour,
    J'ai une petite question. J'ai un formulaire qui permet aux internautes de publier des témoignages sur le site.
    J'affiche le texte publié de cette façon :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    echo nl2br($texte);
    Le problème, c'est que des petits rigolos me font 200 retours chariots à la fois.
    J'aimerais limiter les retours chariots à 2 au maximum à la fois. (phrase + 1 ou 2 maximum retour chariot ensuite phrase etc.)

    Merci beaucoup pour votre aide

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut
    Salut,

    tu peux faire deux choses simples, utiliser trim pour supprimer les blancs inutiles à droite et à gauche du texte.
    Et faire un remplacement d'un double retour chariot par un simple retour chariot avec par exemple une condition du type :

    TANT QUE mon texte contient deux retours chariots
    REMPLACER()
    FIN TANT QUE.

    a plus

  3. #3
    Membre chevronné Avatar de deY!
    Inscrit en
    Avril 2006
    Messages
    403
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2006
    Messages : 403
    Par défaut
    Tu peux aussi bloquer le retour chariot en amont avec javascript et une expression régulière...

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 448
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 448
    Par défaut
    Citation Envoyé par deY! Voir le message
    Tu peux aussi bloquer le retour chariot en amont avec javascript et une expression régulière...
    Après tu retombes sur le classique problème de la validation des formulaires qui DOIT TOUJOURS (vraiment il n'existe aucune exception) être réalisée sur le serveur et non chez le client.

    a plus

  5. #5
    Membre éclairé Avatar de Alexandrebox
    Profil pro
    Inscrit en
    Août 2006
    Messages
    635
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2006
    Messages : 635
    Par défaut
    Bonjour tout le monde,
    Merci bcp Kaymak pour ton explication.
    Malheureusement je ne suis pas très doué donc ne sais pas comment faire le code.

    Pourras-tu m'aider STP ?
    D'avance je te remercie bcp

  6. #6
    Membre Expert
    Avatar de s.n.a.f.u
    Homme Profil pro
    Développeur Web
    Inscrit en
    Août 2006
    Messages
    2 760
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Août 2006
    Messages : 2 760
    Par défaut
    Salut,

    avec les regex, ça peut donner ça
    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
    <?php
    // motif
    $myPattern = '#(\r?\n(\r?\n){0,2})(\r?\n)*#';
     
    // tests
    $myString = 'foo
    foo
    
    foo
    
    
    
    
    
    foo';
     
    print nl2br(preg_replace($myPattern, '$1', $myString));

Discussions similaires

  1. Réponses: 3
    Dernier message: 15/12/2010, 17h49
  2. Supprimer les retours chariots d'une chaine de caractère
    Par Seb33300 dans le forum Général VBA
    Réponses: 3
    Dernier message: 31/01/2009, 22h50
  3. supprimer les retour chariot
    Par battit64 dans le forum VBA Word
    Réponses: 2
    Dernier message: 26/03/2008, 16h42
  4. Supprimer les retours chariots d'une chaine
    Par alexdfr dans le forum Delphi
    Réponses: 7
    Dernier message: 03/10/2006, 09h57
  5. Réponses: 1
    Dernier message: 11/01/2006, 11h58

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