Comment faire un saut de ligne entre deux variables dans un textaera ?

Réponses rédigées par Antoine
Dernière mise à jour : 2022-07-01 19:15:03
Thèmes : php - textarea
Question

Bonjour,

j'ai cette fonction qui me permet de copier les données importées dans une texteara.

<?PHP
function RedondanceCopierBalisesR21(){
// Le formule condition ELSEIF
?>
<table align="center">
<tr align="center">
<td>
<form id="form-copier" >
<!-- //champ de saisie de texte -->
<textarea class="js-text" id="texte"  cols="80" rows="5"disabled="disabled">
<?php echo $_SESSION["BalisesGR21"].$_SESSION['BalisesGR22'];?> 
</textarea>
<br><br>
<!-- //Bouton copier -->
<input type="button" class="js-copytextbtn" value="Copier/Valider la chaine">
</form>
</td>
</tr>
</table>
<script>
(() => {
const button = document.querySelector('.js-copytextbtn');
button.addEventListener("click", () => {
const elemText = document.getElementById("texte");
// supprimer l'attribut disabled si existe
const disabled = elemText.getAttribute("disabled");
elemText.removeAttribute("disabled");
// selectionne le contenu
elemText.focus();
elemText.select();
// copy
document.execCommand("copy");
// réactive l'attribut disabled si existe
disabled && elemText.setAttribute("disabled", disabled);
// remise focus sur Btn
button.focus();
try {
if (document.execCommand('copy')) {
//alert('Le texte a été copié ! '+  text);
document.location.replace('pagefin.php');
}
} catch (err) {
alert('Pas possible de copier.');
}
window.getSelection().removeAllRanges();
});
})();
</script>
<?PHP
}
?>

je voudrais que cela s'affiche un saut de ligne entre les deux variables.

[ADC_START][SDP][GUICHET][DEM][USER_CMDB_DIF_OUI][RDV_NON][RDV_BAL][RSDP_NON][COMMENT/NO][COMMENT/NO][COMMENT/NO][REGUL_NON][LOG_QUE < AE_v>  < TPX_1>][196a6b2f][1/07/2022 16:31:16][][ADC_END]

[ADC_START][SDP][GUICHET][DEM][USER_CMDB_DIF_OUI][RDV_NON][RDV_BAL][RSDP_NON][COMMENT/NO][COMMENT/NO][COMMENT/NO][REGUL_NON][LOG_QUE < AE_vn>  < TPX_1>] [2A34235S][1/07/2022 16:31:16][][ADC_END]

J'ai testé avec /n :

<?php echo $_SESSION['BalisesGR21'].' /n '.$_SESSION['BalisesGR22'];?>

avec nl2br() :

<?php echo nl2br($_SESSION['BalisesGR21']).nl2br($_SESSION['BalisesGR22']);?>

et même avec <br> :

<?php echo $_SESSION['BalisesGR21'].'<br><br>'.$_SESSION['BalisesGR22'];?>

Cela ne fonctionne pas.

Merci.

Réponse

Bonjour,

Vous devez remplacer \r\n par leurs équivalents en entité HTML :

&#13;&#10;

De cette manière les sauts de ligne du textarea devraient correctement être interprétés par le navigateur.

<?php echo $_SESSION['BalisesGR21'].'&#13;&#10;'.$_SESSION['BalisesGR22'];?>