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 :
- onmouseover="return overlib('<table border =\"0\" ><tr><td>Titre</td></tr><tr bgcolor=\'#D1EAF9\'><td class=\'normal\'>Commentaire ligne 1
- 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 :
- $desc = nl2br($desc);
- $desc = str_replace("\n", " ", $row['commentaire']);
- $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