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 :

nl2br et preg_match_all incompatibles ? [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 386
    Points : 275
    Points
    275
    Par défaut nl2br et preg_match_all incompatibles ?
    Bonjour à tous! Voila j'ai un tableau dans lequel j'affiche plusieurs informations, dont la demande qui est un texte assez long. J'affiche donc une partie tronquée de celui-ci grace à preg_match_all de cette façon :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $chaine = stripslashes($resultat['txtdemande'])		
    preg_match_all("/(^.{200,220}[\s])|(.{1,219})/",$chaine,$tabs);
    echo ($tabs[0][0]);
    Ceci me permet donc, sans couper des mots, d'afficher une chaine de 200 à 220 caractères. J'ai mis un nl2br sur le texte de cette demande au moment de l'envoi de la base de donnée. Et quand dans mon texte il y a un retour à la ligne, la fonction preg_match_all ne marche plus correctement, elle ne me garde que le texte avant le retour à la ligne, et le retour à la ligne, même si mon texte n'atteinds pas les limites... Comment faire?

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    Tu peux pas faire le nl2br juste avant l'affichage (donc après ton preg_match_all) ? Ou le problème est toujours présent en procédant de la sorte ?

  3. #3
    Expert éminent sénior

    Profil pro
    Inscrit en
    Juin 2002
    Messages
    6 152
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2002
    Messages : 6 152
    Points : 17 777
    Points
    17 777
    Par défaut
    Le métacaractère point, désignant tout caractère, n'inclut pas par défaut les retours à la ligne. Il est toutefois possible de modifier ce comportement en ajoutant le drapeau s (les sauts à ligne subsistent après un appel à nl2br : ils sont simplement précédés par <br/>).

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 386
    Points : 275
    Points
    275
    Par défaut
    j'ai essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all("/(^s.{200,220}[\s])|(s.{1,219})/",$chaine,$tabs);
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all("/(^.s{200,220}[\s])|(.s{1,219})/",$chaine,$tabs);
    mais ça ne marche pas. Je ne vois pas trop où je dois mettre ce s

  5. #5
    Expert éminent Avatar de Mr N.
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    5 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 5 418
    Points : 6 449
    Points
    6 449
    Par défaut
    Essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match_all("/(^.{200,220}[\s])|(.{1,219})/s",$chaine,$tabs);

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    386
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2006
    Messages : 386
    Points : 275
    Points
    275
    Par défaut
    ok ça marche, un grand merci ^^

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

Discussions similaires

  1. [TFileStream] : LoadFromStream et read : incompatible ?
    Par jmdeffet dans le forum Langage
    Réponses: 4
    Dernier message: 18/11/2004, 10h30
  2. [RegEx] preg_match_all et retour chariot ??? comment faire ?
    Par zax-tfh dans le forum Langage
    Réponses: 6
    Dernier message: 26/09/2004, 17h21
  3. [eclipse3.0][EclipseUML Omondo 3RC3 studio]incompatibles ???
    Par crapboulba dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 13/07/2004, 10h47
  4. [LG]Problême "types incompatibles"
    Par pierrOPSG dans le forum Langage
    Réponses: 7
    Dernier message: 23/04/2004, 21h34
  5. [Socket]Incompatible type ?
    Par Edouard Kaiser dans le forum Réseau
    Réponses: 30
    Dernier message: 21/02/2004, 20h58

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