Je souhaite afficher un paragraphe de la base de données dans une cellule de tableau.
Le résultat est une grande ligne 1, ignorant comment elle est organisée en base de données. ignorer 'entre' par exemple (nouvelles lignes)
Je veux le montrer exactement selon comment il est écrit dans la base de données.
Par exemple, si le paragraphe est enregistré comme ceci:
hello ,
my name is x.
Je veux qu'il soit montré exactement comme ça, au lieu de:
hello, myname is x.
white-space
est une propriété CSS 2.1 qui est largement prise en charge. Testé sur IE8, fonctionne très bien.white-space: pre;
est ignoré lorsqu'il est appliqué dans une<td>
balise. Utiliser<pre></pre>
pour envelopper notre contenu fonctionne bien, mais en raison de l'utilisation de cette table (exportation vers Excel), de grands nombres de colonnes et de lignes gonflent la taille du fichier exporté et provoquent le blocage d'Excel lors de la lecture du fichier. (bizarre, je sais). Quelqu'un d'autre a-t-il vu cela ou a-t-il une idée de solution?Cela résoudrait le problème de la nouvelle ligne. La balise pre ajouterait du CSS supplémentaire que nécessaire.
la source
<pre>
balise fait toutes sortes de choses au-delà de la simple autorisation de caractères de nouvelle ligne, mais ces paramètres de style ne résolvent que le problème présenté.Enveloppez le contenu dans une
<pre>
balise (texte pré-formaté)la source
Deux suggestions pour résoudre ce problème:
SOLUTION 1:
<div style="white-space:pre;">{database text}</div>
ou<pre>{database text}</pre>
C'est une bonne solution si votre texte n'a pas de balises html ou de propriétés css. Permet également de maintenir des onglets par exemple.
SOLUTION 2: remplacer
\n
par<p></p> or <br/>
C'est une solution si vous souhaitez simplement ajouter des lignes de rupture, sans perdre d'autres propriétés de texte ou de mise en forme. Un exemple en php serait
$text = str_replace("\n","<br />",$database_text);
Vous pouvez également utiliser
<p></p>
ou<div></div>
, mais cela nécessite un peu plus d'analyse du texte.la source
Sur votre code côté serveur, remplacez les nouvelles lignes (
\n
) par<br/>
.Si vous utilisez PHP, vous pouvez utiliser
nl2br()
la source
Salut, j'avais besoin de faire la même chose! Ne demandez pas pourquoi, mais je générais un html en utilisant python et j'avais besoin d'un moyen de parcourir les éléments d'une liste et de faire en sorte que chaque élément prenne une ligne de sa propre dans UNE SEULE CELLULE d'une table.
J'ai trouvé que la balise br fonctionnait bien pour moi. Par exemple:
Cela produira la sortie que je voulais.
la source
J'utilise la balise de code html après chaque ligne (voir ci-dessous) et cela fonctionne pour moi.
George Benson </br>
123 Main Street </br>
New York, Ny 12344 </br>
la source
le code ci-dessous fonctionne comme par magie pour moi >>
la source
J'ai ajouté seulement
<br>
à l'intérieur du<td>
et ça marche bien, casse la ligne!la source
Si vous avez une variable de chaîne avec
\n
dedans, que vous voulez mettre à l'intérieurtd
, vous pouvez essayerla source