Probleme avec innerHTML
Résolu
P53ud0
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
P53ud0 Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
P53ud0 Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
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:
ne fonctionne pas, je m'explique,
Lorsque j'utilise directement
Le soucis est que le
é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:



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
Bonjour,
En effet, la fonction php nl2br ne remplace pas les retours à la ligne par des
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 :
Xavier
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
Artur.