PHP:我应该如何逃避将要进入Javascript字符串的字符串? [英] PHP: How should I escape a string that will be going into a Javascript String?

查看:99
本文介绍了PHP:我应该如何逃避将要进入Javascript字符串的字符串?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我应该如何避免将要进入Javascript字符串的字符串? URLEncode的(X)? str_replace(',\X)?

解决方案

使用 json_encode



所以你可以做

  $ page_params = array(
'user_logged_in'=> $ suer-> IsActive(),
'some_string'=>sajdhf\test''z\'\fsdf
'ts'=> time()
);

$ page_params = json_encode($ page_params);

然后在你的模板中你可以去

  var page_params = ?php echo $ page_params?> ;; 

女巫会产生

  var page_params = {user_logged_in:false,some_string:sajdhf\test''z\'\\fsfs,ts 2452346543} 

这样可以将多个变量设置为1个字符串,并且转义由Json Library / p>

How should I escape a string that will be going into a Javascript String? URLEncode(X)? str_replace("'","\'",X)?

解决方案

use json_encode

so you can do

$page_params = array(
    'user_logged_in' => $suer->IsActive(),
    'some_string' => "sajdhf\"test''z\'\fsdf"
    'ts' => time()
);

$page_params = json_encode($page_params);

then in your template you can just go

var page_params = <?php echo $page_params ?>;

witch would produce

var page_params = {"user_logged_in":false,"some_string":"sajdhf\"test''z\'\fsdf","ts":2452346543}

this way you can set multiple variables to 1 string and escaping is done by the Json Library

这篇关于PHP:我应该如何逃避将要进入Javascript字符串的字符串?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆