PHP&Mysql : problème de retour à la ligne (bibliothèque JS Overblib)

PHP&Mysql : problème de retour à la ligne (bibliothèque JS Overblib) - PHP - Programmation

Marsh Posté le 20-01-2004 à 11:45:54    

Bonjour,
 
J'ai un petit souci sur mon appli. J'utilise un champs mysql TEXT où je stocke des commentaires. Par définition je conserve la mise en forme (les sauts de ligne).
Seulement j'utilise une fonction un peu spéciale qui exige pour fonctionner que le code source généré tienne sur une seule et même ligne (bibliothèque JS Overlib -> aucune documentation ne m'a aidé sur le site officiel).  
 
pour expliquer, cette bibliothèque prend du code source en entrée et me génère un joli pop-up sur mesure
 
Voilà le code généré (quand je consulte le source):

Code :
  1. onmouseover="return overlib('<table border =\"0\" ><tr><td>Titre</td></tr><tr bgcolor=\'#D1EAF9\'><td class=\'normal\'>Commentaire ligne 1
  2. commentaire ligne 2 <br></td></tr></table>


 
Le commentaire, apparait sur 2 lignes (comme dans phpmyadmin d'ailleurs), Je souhaite bien entendu conserver la mise en forme mais en html uniquement, pas dans le code source.  
Je ne trouve pas de fonctions qui traite cette chaîne de sorte que avant affichage le code de la nouvelle ligne soit ignoré.  
en effet sur tous les commentaires à 1 ligne le popup fonctionne à merveille, mais dès qu'il y a un saut de ligne dans le code source il ne fonctionne plus.
 
Jusque là j'ai essayé de traiter la chaîne commentaire avant affichage, je lui fais tout ce que je peux mais manifestement y a un truc qui m'échappe...

Code :
  1. $desc = nl2br($desc);
  2. $desc = str_replace("\n", " ", $row['commentaire']);
  3. $desc = addslashes($desc);


 
Avez vous une idée pour me permettre de transformer les sauts de ligne par des <br> avant affichage mais en supprimant tout formattage du code source ??
(à priori nl2br ajoute <br /> au \n déjà existant, je pense que virer le \n devrait -à priori- résoudre mon problème...)


Message édité par PunkRod le 20-01-2004 à 11:47:48

---------------
Assistants SWGOH
Reply

Marsh Posté le 20-01-2004 à 11:45:54   

Reply

Marsh Posté le 20-01-2004 à 14:01:42    

[:abnocte invictus]  
drapeau, j'aimerais bien aussi avoir des avis d'experts...
 
 
(  :whistle:  )


---------------
Assistants SWGOH
Reply

Marsh Posté le 20-01-2004 à 16:50:58    

ayé j'ai trouvé, je donne la solution pour la postérité
 
Voici le code qui kill les sauts de ligne dans le code source

Code :
  1. $chaine = str_replace(chr(10), " ", $chaine);
  2. $chaine = str_replace(chr(13), " ", $chaine );


 
y a des saloperies de codes ascii qui marche en combo... découpage de chaîne de caractères pour les tests,et extraction des codes, et de là à imaginer qu'il y a 2 caractères spéciaux ! argh...


---------------
Assistants SWGOH
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed