Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1976 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Sauts de ligne pas pris en compte à l'affichage (avec MySQL)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Sauts de ligne pas pris en compte à l'affichage (avec MySQL)

n°1350708
Mploufeur
Posté le 20-04-2006 à 18:27:53  profilanswer
 

Bonjour,
 
(je ne sais pas si c’est la bonne catégorie ou si il faut poster ceci dans SGBD/SQL)
 
Dans un champ de texte multiligne, je rentre du texte en faisant des sauts de ligne (ENTER).
Avec $_POST, je récupère le contenu de ce champ et le stocke dans la BDD MySQL.
 
Mon problème est que le texte est stocké tout à la suite dans la BDD (il ne prend pas en compte les sauts de ligne). Et quand je réaffiche le tout, il n'y a bien sur pas de saut de ligne!
 
J'ai vu des posts sur ce forum parlant de htmlentities, mais je n'ai pas bien compris comment faire.
J'ai un peu tout essayé en vain.
 
Il y aurait une âme charitable qui pourrait me tuyauter sur le sujet?
 
Merci à tous.
 
Mploufeur
Webmaster en dilettante


Message édité par Mploufeur le 20-04-2006 à 18:28:48
mood
Publicité
Posté le 20-04-2006 à 18:27:53  profilanswer
 

n°1350725
p3kk4
Posté le 20-04-2006 à 18:53:44  profilanswer
 

essaye nl2br(htmlentities($tontxt));

n°1350742
Mploufeur
Posté le 20-04-2006 à 19:33:07  profilanswer
 

p3kk4 a écrit :

essaye nl2br(htmlentities($tontxt));


 
C'est clair, net, précis, ultra rapide... et exactement ce que je cherchais à faire!
Merci beaucoup!
 
Si j'osais, j'ajouterais bien une ch'tite question supplémentaire:
 
Comment faire l'opération inverse sur la chaîne de caractères?
J'ai essayé avec

Code :
  1. html_entity_decode($ma_chaine)

mais ça ne me vire pas les <br />
 
Existe t-il une fonction PHP toute simple ou il faut le faire de façon moins élégante "à la sauvage", en virant tous les <br /> de ma chaîne de caractère?
 
Re-d'avance merci

n°1350754
p3kk4
Posté le 20-04-2006 à 19:57:56  profilanswer
 

;)  je fais du meiux que je peux.
 
Voila la réponse à ta 2ème question : br2nl !!!

n°1350909
naceroth
Posté le 21-04-2006 à 00:56:17  profilanswer
 

p3kk4 a écrit :


Voila la réponse à ta 2ème question : br2nl !!!


 
N'existe pas ça mon grand  :sarcastic:

n°1350934
rufo
Pas me confondre avec Lycos!
Posté le 21-04-2006 à 08:40:58  profilanswer
 

http://fr.php.net/manual/fr/function.nl2br.php
 
Comme on le voit sur cette page, y'a htmlspecialchars(), htmlentities() et str_replace().


Message édité par rufo le 21-04-2006 à 08:41:09
n°1350951
daweed62
Posté le 21-04-2006 à 09:30:17  profilanswer
 

J'ai eu le même problème il y a pas longtemps...
 
function br2nl($text)
{
   return  preg_replace('/<br\\s*?\/??>/i', '', $text);
}

Message cité 1 fois
Message édité par daweed62 le 21-04-2006 à 09:31:14
n°1351451
p3kk4
Posté le 21-04-2006 à 17:31:20  profilanswer
 

daweed62 a écrit :

J'ai eu le même problème il y a pas longtemps...
 
function br2nl($text)
{
   return  preg_replace('/<br\\s*?\/??>/i', '', $text);
}


Toi vois que ca existe naceroth!  :p

Message cité 1 fois
Message édité par p3kk4 le 21-04-2006 à 17:31:48
n°1351523
naceroth
Posté le 21-04-2006 à 18:40:59  profilanswer
 

p3kk4 a écrit :

Toi vois que ca existe naceroth!  :p


 
Moi voir que pas être dans fonction langage de base. Ca être trop dur pour toi donner code plutôt que nom ? :p

n°1352769
Profil sup​primé
Posté le 24-04-2006 à 15:27:43  answer
 

:hello:
 
Je me retrouve avec un problème plus ou moins similaire mais un peu plus complexe car je voudrais pouvoir insérer des tableaux html ou du texte dans mon champ .
Avec nl2br , les saut de ligne de mon texte seront pris en compte mais il faudrait que cette fonction se désactive lorsqu'elle rencontre des balises html.
 
Comment est-ce que je pourrais faire ?


Message édité par Profil supprimé le 24-04-2006 à 15:28:36
mood
Publicité
Posté le 24-04-2006 à 15:27:43  profilanswer
 

n°1352808
rufo
Pas me confondre avec Lycos!
Posté le 24-04-2006 à 15:55:15  profilanswer
 

voir strip_tags() et donner dans le second paramètre la liste des balises autorisées...

n°1352830
Profil sup​primé
Posté le 24-04-2006 à 16:20:03  answer
 

Il y'a peut être quelque chose qui m'échappe mais je vois mal comment je pourrais faire avec strip_tags vu que cette fonction supprime les balises html et php qui ne sont pas autorisées :??:
 
C'est la même balise qui me permet de faire des sauts de ligne dans du texte et qui me pose problèmes dans les tableaux  ...  ( <br /> )

n°1352924
rufo
Pas me confondre avec Lycos!
Posté le 24-04-2006 à 17:47:06  profilanswer
 

strip_tags retire d'une chaîne toutes les balises de caractères par défaut. Mais si tu veux en garder certaines, tu peux le préciser dans le 2ième argument. Maintenant, si tu veux concerver toutes les balises, tu peux utiliser str_replace() et remplacer les < et > par leurs entités html...(du reste, htmlentities() fait ça)

n°1353507
Profil sup​primé
Posté le 25-04-2006 à 12:41:55  answer
 

Je crois qu'on ne s'est pas compris mais merci quand même .
Je pense que je vais mettre une check box pour désactiver la fonction nl2br lors de l'enregistrement de code html dans la base de données mais j'aurais voulu faire ça autrement :/


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Sauts de ligne pas pris en compte à l'affichage (avec MySQL)

 

Sujets relatifs
affichage, sauvegarde etc.. d'une map 2DExport BDD MySQL en XML
Ajouter une ligne en tête et fin de fichierSe connecter à MySQL à distance en C#
[Résolu] Compteur avec cookie et MysqlAjout de caractère en tête de ligne d'un fichier
affichage photos formulaireinsert et update anarchiques dans mysql ?
PHP/MySQL: requete de tri et LEFT JOINAlignement a la ligne des div
Plus de sujets relatifs à : Sauts de ligne pas pris en compte à l'affichage (avec MySQL)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR