Je vous recommande de n'ajouter les balises <br /> que lorsque vous voudrez réaliser un affichage HTML de vos données, restant ainsi en toute circonstance exploitable telles quelles. Cela ne semble alors poser aucun problème par la suite puisque l'on peut utiliser la fonction nl2br :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <?php
define('FICHIER_XML', 'testnl.xml');
$texte = <<< EOT
Un texte avec des
SAUTS DE LIGNE
.
EOT;
if (!file_exists(FICHIER_XML)) {
$dom = new DomDocument;
$racine = $dom->createElement('racine');
$message = $dom->createElement('message', $texte);
echo nl2br($message->nodeValue);
$dom->appendChild($racine);
$racine->appendChild($message);
$dom->save(FICHIER_XML);
} else {
$dom = DomDocument::load(FICHIER_XML);
echo nl2br($dom->documentElement->firstChild->nodeValue);
} |
Par rapport à votre code c'est vous qui remplacez (via str_replace) les sauts de ligne par <br /> (et de façon non portable qui plus est ).
PS : pour obtenir la racine du document, vous pouvez simplifier en :
$racine = $doc->documentElement;
Partager