Aller au contenu

[PHP] Retour à la ligne non demandé


Messages recommandés

Bonjour,

J'ai un petit soucis sur mon code. J'ai un fichier texte.txt qui contient "Test<br>Test". Je souhaite l'afficher dans un textarea. Voila le code :

$texte = file_get_contents("texte.txt");

$texte = str_replace("<br />", "\n", $texte);

$texte = html_entity_decode(htmlspecialchars_decode($texte));

echo '<form method="get" action="test.php"><textarea name="texte" cols="72" rows="15">'.$texte.'</textarea><input type="submit" value="Valider le texte" />

</form>';

Hors lorsqu'il s'affiche, j'ai droit à deux retour à la ligne au lieu d'un.

De l'aide mon bon seigneur :s

Lien vers le commentaire
Partager sur d’autres sites

Sauf erreur de ma part, la fonction "htmlspecialchars_decode" décode les entités HTML correspondant à des caractères interdits en SGML, et non les tags.

EDIT : je viens de comprendre ton commentaire Amour, mais dans ce cas autant faire seulement un simple " html_entity_decode" et non un specialchars

Lien vers le commentaire
Partager sur d’autres sites

Documentation de nl2br()

Retourne string après avoir inséré "<br />" ou '<br>' devant toutes les nouvelles lignes (\r\n, \n\r, \n et \r).

:mad2::mad2:

Si je ne trompe pas \r -> mac, \n -> unix/ linux, \r\n -> Windows (qui a pris le meilleur des 2 mondes ... ou pas :transpi:), mais \n\r :zarb:

Édit: \n\r, c'est fait pour les personnes qui écrivent de droite à gauche :transpi:

Lien vers le commentaire
Partager sur d’autres sites

La fonction a utilisé est nl2br()

La avec

$texte = str_replace("<br />", "", $texte);

Tu ne fais que remplacer tout les "<br />" par rien (tu les supprime).

Justement, comment expliquer qu'en remplaçant "<br />" par rien je me retrouve avec bon nombre de retour à la ligne? (et non le double)

Lien vers le commentaire
Partager sur d’autres sites

Archivé

Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.

×
×
  • Créer...