> Tous les forums > Forum Forum des Webmasters
 \n fait un espace au lieu d'un saut de ligneSujet résolu
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
laplume
  Posté le 06/08/2007 @ 10:51 
Aller en bas de la page 
Nouvel astucien

Bonjour

en voulant faire un saut de ligne dans un script php avec \n je n'obtiens en fait qu'un espace.

Je rencontre ce pb en voulant utiliser fpdf.

mais en fais ce n'est pas propre a fpdf car si je fais simplement:

echo "test\ntest";
et bien il m'affiche test test

comme s'il y avait un str_replace quelque part...
(il n'y en a pas dans mon script)
je suis sous easyphp /windows xp sp2

si qqun a une idee...

(cela ne me gene pas dans un script classique ou je peux mettre une balise <br/> mais avec fpdf oui. )

...merci d'avance


Publicité
koala01
 Posté le 06/08/2007 à 15:47 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Salut,

C'est tout à fait normal...

Le PHP est un langage dont le but est de créer... une page HTML.

Et, dans une page HTML, le caractère

  1. \n

ne veut strictement rien dire: c'est la balise

(ou la fermeture d'une balise de bloc) qui permet de retourner à la ligne.

Tu dispose donc de deux solutions:

Soit, tu demande à php de remplacer systématiquement le

  1. \n

par un br avec la fonction nltobr, soit tu lui fait afficher, non pas un

  1. \n

mais une balise

(ou une fermeture de balise de bloc):

deux exemples
  1. echo lntobr("ceci sera affiché\nsur deux lignes");
  2. // ou
  3. echo "ceci sera affiché <br> sur deux lignes";

Il faut cependant savoir que la fonction nltobr peut avoir des conséquences... assez inattendues si tu travailes sur des champs de base de données (les longtext en particulier)



Modifié par koala01 le 06/08/2007 15:51
Malcolm
 Posté le 06/08/2007 à 19:26 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

petite correcton : la fonction qui change les \n en <br> (ou <br /> selon le doctype) est nl2br (et non nltobr) ... http://fr.php.net/manual/fr/function.nl2br.php
koala01
 Posté le 06/08/2007 à 21:44 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
C'est bien la preuve que je ne l'utilise que tres rarement [langue]
laplume
 Posté le 07/08/2007 à 12:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Nouvel astucien

Merci de ces réponses tres détaillé.

J'ai généralisé trop vite un probleme...

- J'ai compris pour le code php

- J'ai résolu effectivement mon probleme dans FPDF ou il fallait utiliser multicell et non cell

(ce qui est bien indiqué dans la doc, mais mon erreur a été de généraliser: en constatant que cela ne marchait pas avec un simple code, je ne voyais pas comment cela pouvais marcher avec FPDF)

Bref tout est ok

encore merci.

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Saut de ligne auto dans un mot
page PHP sans saut de ligne
Saut de ligne dans une chaîne de caractères
saut de ligne
Body avec saut de ligne dans un mailto
Ajout ligne copyright et méthode
Ligne sous les liens ...
Probleme de mise en ligne de fichier sur un serveur
Aller à la ligne dans une info bulle
faire un espace entre le cadre et la cellule (tableau)
Plus de sujets relatifs à \\n fait un espace au lieu d''un saut de ligne
 > Tous les forums > Forum Forum des Webmasters