Probleme avec innerHTML

Résolu
P53ud0 Messages postés 29 Statut Membre -  
P53ud0 Messages postés 29 Statut Membre -
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

  1. Reivax962 Messages postés 3742 Statut Membre 1 011
     
    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
    0
    1. P53ud0 Messages postés 29 Statut Membre
       
      Merci infiniment,

      Artur.
      0