Liaison PHP/JS : Empêcher un retour à la ligne en PHP
RésoluCielmonbivouac -
Bonjour à tous,
Voilà, j'ai un petit problème à vous soumettre concernant un code et un problème récurant que je rencontre en JS, quand je veux insérer du script PHP dedans, appelant une donnée stockée dans ma BDD (MySQL).
Pour être plus clair :
Au clic d'une div, je veux faire apparaitre un description qui est stocké dans ma base de donnée sous option1_description.
B_description_option.innerHTML = '<strong>Description de l\'option n°3 :</strong> <?php echo valid_donnees_JS($product['option3_description']); ?>';
Pour résoudre les problèmes de slashs et de saut de ligne, j'ai créé une petite fonction : "valid-donnees_JS" qui est la suivante :
// Fonction des données insérées dans JS [utiliser valid_donnees_JS] function valid_donnees_JS($donnees){ $donnees = nl2br($donnees); $donnees = addslashes($donnees); return $donnees;}
Bon, du coup, jusque là, ça marche, on a bien les slashs retournés et les <br> qui s'ajoutent. Miracle !
Mais, il reste un problème, c'est quand le PHP s'insère dans le JS, il garde les sauts de ligne, ce qui fait planter le code :
(code exécuté après passage du PHP ) :
Une idée ?
Merci par avance à tous et bonne journée !!
Windows / Firefox 104.0
- Liaison PHP/JS : Empêcher un retour à la ligne en PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Liaison torride - Forum Réseaux sociaux
- Arnaque rdv torride ✓ - Forum Consommation & Internet
- Js/packed.agent.n ✓ - Forum Virus
2 réponses
Bonjour,
Sans voir les données brutes stockées dans ta bdd .. difficile de te répondre.
Mais à mon avis, il faudrait nettoyer la chaine en faisant du preg_replace sur les caractères de fin de ligne genre \n \r \r\n chr(13) chr(10)
Salut,
Merci beaucoup pour ta réponse !
Effectivement, c'était ça. J'ai repris ma fonction en faisant :
function valid_donnees_JS($donnees){ $donees = nl2br($donnees); $donnees = addslashes($donnees); $donnees = trim($donnees); $donnees = str_replace(["\r", "\n"], "", $donnees); $donnees = preg_replace("/\r|\n/", "", $donnees); return $donnees;}
Ca fonctionne comme ça :)
Merci beaucoup et à bientôt !