Maison > développement back-end > tutoriel php > Pourquoi mes caractères de nouvelle ligne ne sont-ils pas convertis en balises de saut HTML ?

Pourquoi mes caractères de nouvelle ligne ne sont-ils pas convertis en balises de saut HTML ?

Susan Sarandon
Libérer: 2024-11-04 20:18:02
original
1021 Les gens l'ont consulté

Why Are My Newline Characters Not Converting to HTML Break Tags?

Conservation des caractères de nouvelle ligne avec HTML

Dans le but de convertir les nouvelles lignes ou les caractères "rn" en balises de saut HTML ("
"), un utilisateur a rencontré des difficultés malgré l'utilisation de diverses méthodes.

Exploration de la méthode

  1. preg_replace() :

    <code class="php">$description = preg_replace('/\r?\n|\r/', '<br/>', $description);</code>
    Copier après la connexion
  2. str_replace():

    <code class="php">$description = str_replace(array("\r\n", "\r", "\n"), '<br/>', $description);</code>
    Copier après la connexion
  3. nl2br():

    <code class="php">$description = nl2br($description);</code>
    Copier après la connexion

Résultats inattendus

Malgré ces méthodes plausibles, les nouvelles lignes sont restées dans le texte. La raison réside dans la présence inattendue de doubles sauts de ligne ("rr"). Bien que cela ne devrait pas gêner le remplacement, cela justifiait une enquête plus approfondie.

Fonction nl2br()

Il est important de noter l'existence de la nl2br() Fonction , qui insère explicitement les balises "
" avant les caractères de nouvelle ligne.

<code class="php"><?php
// Won't work
$desc = 'Line one\nline two';
// Should work
$desc2 = "Line one\nline two";

echo nl2br($desc);
echo '<br/>';
echo nl2br($desc2);
?></code>
Copier après la connexion

Texte entre guillemets doubles

De plus, une attention particulière doit être payé à l'utilisation de guillemets doubles lors de l'attribution du texte à la variable.

<code class="php">$description = "Line one\nline two"; // Correct
$description = 'Line one\nline two'; // Incorrect</code>
Copier après la connexion

En effet, les guillemets simples ne « développent » pas les séquences d'échappement, telles que « n », ce qui est crucial pour interpréter de nouveaux caractères de ligne.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal