Probleme avec innerHTML [Résolu/Fermé]

Signaler
Messages postés
24
Date d'inscription
dimanche 30 octobre 2016
Statut
Membre
Dernière intervention
14 avril 2018
-
Messages postés
24
Date d'inscription
dimanche 30 octobre 2016
Statut
Membre
Dernière intervention
14 avril 2018
-
Bonjour, pour faire court voici mon problème:

Je veux créer des <article> en fonction des données dans une BDD le soucis que je rencontres actuellement est le suivant:
p.innerHTML = "<?php echo nl2br($paroles[1]);?>";

ne fonctionne pas, je m'explique,
Lorsque j'utilise directement
"<?php echo nl2br($paroles[1]);?>"
dans une balise HTML tout s'affiche correctement, hors quand je passe par le JS cela ne fonctionne plus.
Le soucis est que le
p.innerHTML = "<?php echo nl2br($paroles[1]);?>";
n'arrive pas a gérer la balise <br>
étant donné que dans mon texte il y a des saut de ligne représenter par des <br> ce qui créer un retour a la ligne dans le JS qui est sensible aux saut, et donc ne trouve aucun texte.
Quelques image pour mieux comprendre:



1 réponse

Messages postés
3671
Date d'inscription
jeudi 16 juin 2005
Statut
Membre
Dernière intervention
11 février 2021
994
Bonjour,

En effet, la fonction php nl2br ne remplace pas les retours à la ligne par des
<br />
, mais insère les
<br />
devant les retours à la ligne.
https://www.php.net/manual/fr/function.nl2br.php

Ce qu'il te faut, c'est supprimer les retours à la ligne du texte.

Tu peux le faire en utilisant str_replace :
p.innerHTML = "<?php echo str_replace(array("\r\n", "\r", "\n"), "<br />", $paroles[1]); ?>";

Xavier
Messages postés
24
Date d'inscription
dimanche 30 octobre 2016
Statut
Membre
Dernière intervention
14 avril 2018

Merci infiniment,

Artur.