Page 1 sur 1
Question sur <pre>
Posté : 28 févr. 2007, 13:42
par lacfab
salut
voilà j'ai des actualités qui sont enregistrées en base de donnée ... bref ... je voudrais pouvoir éviter de saisir la balise BR alors j'ai pensé à mettre PRE sur ma page d'affichage mais le soucis c'est que si j'ai une longue phrase, elle ne fait pas de retour à la ligne automatique avec la mise en page qui va bien (justify)
y a-t-il une solution à ça ?
Merci
Posté : 28 févr. 2007, 14:07
par jojolapine
éventuellement tronquer via php ton texte, mais ce sera plus aléatoire et aussi pénible que d'ajouter des <br />
Posté : 28 févr. 2007, 15:27
par Hywan
Bonjour
Au moment d'enregistrer ton article d'actualité, tu peux appliquer la fonction nl2br(); de PHP. Elle va remplacer automatiquement les retours à la ligne (à savoir \n) par <br /> (en XHTML).
Si tu veux faire ça pour tous tes articles déjà existants, tu te fais une petite fonction PHP qui boucle ta base de données, et qui applique nl2br(); sur chacun de tes articles, tout bêtement
Bonne journée.
Posté : 28 févr. 2007, 18:18
par lacfab
OK actuellement toutes les actus (+3000) contiennent des BR mais ça aurait été plus pratique de faire comme pour un forum quoi ... vais m'atteler sur cette fonction

Posté : 28 févr. 2007, 18:27
par Hywan
Marque le sujet comme "Résolu" si c'est le cas

Posté : 28 févr. 2007, 19:29
par albat
tu peux aussi afficher ton texte dans un <textarea>...

Posté : 28 févr. 2007, 19:58
par Hywan
Bonjour
C'est envisageable mais un peu crado nan ?
Si c'est pour des publications, c'est pas super top ...
Ça ne reste que mon opinion

Posté : 28 févr. 2007, 20:01
par albat
Il est évident que l'utilisation de la fonction nl2br()
est de loin la solution la plus prore.
Mais si son utilisation pose problème et oblige à recourir à des astuces,
alors le <textarea> peut être une solution plus satisfaisante que le <pre>.
Cela dit, je préconise bien évidemment le nl2br().
Posté : 01 mars 2007, 02:19
par lacfab
pose problèmes ?? du genre ?
Posté : 01 mars 2007, 09:21
par AB
Bonjour
Au moment d'enregistrer ton article d'actualité, tu peux appliquer la fonction nl2br(); de PHP. Elle va remplacer automatiquement les retours à la ligne (à savoir \n) par <br /> (en XHTML).
....
Bonne journée.
Bonjour,
Je procède un peu différemment: j'enregistre les messages directement dans la base de donnée et j'applique la fonction nl2br() uniquement pour l'affichage des messages

Posté : 01 mars 2007, 12:04
par Victor BRITO
Il est évident que l'utilisation de la fonction nl2br()
est de loin la solution la plus prore.
Mais si son utilisation pose problème et oblige à recourir à des astuces,
alors le <textarea> peut être une solution plus satisfaisante que le <pre>.
Une autre solution si le code généré est du HTML et non du XHTML: utiliser le code suivant:
<?php
preg_replace ("/(\n|\r|\r\n)/", "<br>", $ton_texte);
?>
Posté : 01 mars 2007, 13:39
par lacfab
les deux dernières réponses me vont très bien merci
Posté : 01 mars 2007, 13:40
par lacfab
etant donné que je suis "invité" je ne peux pas mettre résolu ... merciiiiiii
Posté : 01 mars 2007, 13:52
par zeus
etant donné que je suis "invité" je ne peux pas mettre résolu ... merciiiiiii
c'est fait

Posté : 02 mars 2007, 00:55
par AB
Il est évident que l'utilisation de la fonction nl2br()
est de loin la solution la plus prore.
Mais si son utilisation pose problème et oblige à recourir à des astuces,
alors le <textarea> peut être une solution plus satisfaisante que le <pre>.
Une autre solution si le code généré est du HTML et non du XHTML: utiliser le code suivant:
<?php
preg_replace ("/(\n|\r|\r\n)/", "<br>", $ton_texte);
?>
Oui, pourquoi pas, mais même si nl2br() génère des <br /> à l'affichage, <br /> passe au validateur html 4.01 transitional donc nl2br() peut être utilisé indifféremment avec HTML ou XHTML et sera beaucoup plus rapide à l'exécution qu'un preg_replace
