2009-09-24 4 views
0

que je fais quelque chose comme suit pour transférer la valeur de PHP à javascript:Comment échapper seulement "'" en PHP?

var str = '<?php echo $v; ?>'; 

S'il n'y a pas "'" dans $v, il sera juste bien.

Mais dans le cas où il y a "'" dans $v, évidemment erreur sera signalée.

Jusqu'ici, je n'ai utilisé que mysql_real_escape, ce qui n'est pas applicable maintenant.

Répondre

9

Vous devez utiliser json_encode() pour aller de PHP à Javascript:

var str = <?=json_encode($v);?>; 
+0

Cela fonctionne comme charme !! – omg

3

mysql_real_escape_string est destiné à être utilisé uniquement pour la valeur à utiliser dans une chaîne dans une requête MySQL. Utilisez json_encode pour convertir votre chaîne en une expression JavaScript valide.

-1
<?php 
    $v = "blah's"; 
?> 
<script language="javascript"> 
    var str = '<?php echo addslashes($v); ?>'; 
    alert(str); 
</script>