Bonjours à tout les zéros !
J'ai dans une variable le contenu d'un textarea qui peut contenir des retours à la ligne.
Je voudrais l'afficher dans une div en convertissant les balises html mais en respectant les saut de lignes présent dans le textarea. Comment faire ?
Voici mon script :
var new_text = text_edit.parent().parent().find(".contenu_textarea").val();
text_edit.parent().parent().parent().find(".contenu_text_change").text(new_text);
Avec ce script, les balises html sont bien encodées mais les retours à la ligne ne sont pas présent.
Comment faire ?
Cordialement, Corentin.
Mmh pas vraiment de solution là sauf si tu trouve un équivalent du htmlentities en Js :D
ça marche pas ça ? (si j'ai bien compris ton problème)
text_edit.parent().parent().parent().find(".contenu_text_change").text(new_text.replace('\n','<br>'));
Non car le <br> ne sera pas executé mais affiché ^^
Sinon, merci Grafikart, j'en est trouvé une et ça marche ^^
Pour les curieux :
function htmlspecialchars(string, quote_style, charset, double_encode) {
var optTemp = 0, i = 0, noquotes = false;
if(typeof quote_style === 'undefined' || quote_style === null) {
quote_style = 2;
}
string = string.toString();
if(double_encode !== false) {
string = string.replace(/&/g, '&');
}
string = string.replace(/</g, '<').replace(/>/g, '>');
var OPTS = {
'ENT_NOQUOTES': 0,
'ENT_HTML_QUOTE_SINGLE': 1,
'ENT_HTML_QUOTE_DOUBLE': 2,
'ENT_COMPAT': 2,
'ENT_QUOTES': 3,
'ENT_IGNORE': 4
};
if(quote_style === 0) {
noquotes = true;
}
if(typeof quote_style !== 'number') {
quote_style = ].concat(quote_style);
for(i = 0; i < quote_style.length; i++) {
if(OPTS[quote_style[i]] === 0) {
noquotes = true;
} else if(OPTS[quote_style[i]]) {
optTemp = optTemp | OPTS[quote_style[i]];
}
}
quote_style = optTemp;
}
if(quote_style & OPTS.ENT_HTML_QUOTE_SINGLE) {
string = string.replace(/'/g, ''');
}
if (!noquotes) {
string = string.replace(/"/g, '"');
}
return string;
}