En supposant que c'est en fait une question PHP, j'utilise normalement json_encode() pour générer des chaînes JavaScript. Par exemple:
// Prints: var myString = "Hello\nWorld";
var myString = <?php echo json_encode("Hello\nWorld"); ?>;
Retour en JavaScript, vous voulez probablement éviter l'injection HTML et les attaques XSS:
var myTextarea = $('<textarea name="text"></textarea>').text(<?php echo json_encode($text_user); ?>);
$("#text_a").html(myTextarea);
Additif
Un peu test qui illustre la nécessité d'échapper à bon:
<?php
$text_user = '</textarea><a href="http://www.google.com">Google></a><textarea>';
?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title></title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script type="text/javascript"><!--
jQuery(function($){
// Proper escaping
var myTextarea = $('<textarea name="text"></textarea>').text(<?php echo json_encode($text_user); ?>);
$("#text_a").html(myTextarea);
// HTML injection
$("#text_b").html('<textarea name="text">' + <?php echo json_encode($text_user); ?> + '</textarea>');
});
//--></script>
</head>
<body>
<div id="text_a"></div>
<div id="text_b"></div>
</body>
</html>
Est-ce le code JavaScript réel qui s'exécute sur le navigateur? Ou est-ce du code source PHP? –
Définissez-vous la valeur de $ text_user par php? – thomaux
@Anzeo - It * is * PHP '. $ Text_user.' concatène la chaîne avec la variable PHP, ce n'est pas la version rendue. –