Maison > Article > développement back-end > Pourquoi ma fonction `nl2br()` ne remplace-t-elle pas les nouvelles lignes par `` ?
Remplacer les nouvelles lignes ou rn par
: un guide de dépannage
Chercher à remplacer les nouvelles lignes par
, vous avez essayé diverses approches en utilisant preg_replace(), str_replace() et nl2br() mais vous avez rencontré un comportement inattendu. Considérant les doubles nouvelles lignes (rr) comme une cause improbable d'échec, vous avez demandé des éclaircissements.
Solution :
Comme souligné dans la réponse, la méthode recommandée pour convertir les nouvelles lignes en
utilise la fonction nl2br(). Cependant, il est crucial de noter qu'il insère
balises avant les caractères de nouvelle ligne, sans les remplacer.
Exemple :
<code class="php">// Will not work $desc = 'Line one\nline two'; // Should work $desc2 = "Line one\nline two"; echo nl2br($desc); echo '<br />'; echo nl2br($desc2);</code>
Considérations supplémentaires :
Si nl2br( ) ne fonctionne toujours pas comme prévu, vérifiez que le texte $desciption est placé entre guillemets doubles.
Raison :
Les guillemets simples ne développent pas les séquences d'échappement, telles que n, alors que les chaînes entre guillemets le font. Cette divergence peut entraîner un comportement inattendu.
Citation de la documentation :
"Remarque : contrairement aux syntaxes entre guillemets doubles et héréditaires, les variables et les séquences d'échappement pour les caractères spéciaux ne seront pas être développés lorsqu'ils apparaissent dans des chaînes entre guillemets simples. "
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!