PHP:我应该如何逃避将要进入Javascript字符串的字符串? [英] PHP: How should I escape a string that will be going into a Javascript String?
本文介绍了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屋!
查看全文