是否有一个帮助函数可以正确地转义字符串,以引用单引号引用JavaScript字符串文字?
我知道jsQuoteEscape但它只处理引号而不处理\ n& \ r等。
所以如果我的字符串是'line1 \ nlineb'(即两行之间有换行符)
我用
var jsvar='<?php echo $this->helper('myextension')->jsQuoteEscape($mystring); ?>';
我将进入渲染内容
var jsvar='line1
line2';
这是语法错误。
谢谢, 的Eyal
答案 0 :(得分:5)
是
$string = 'Hello
There';
var_dump( Mage::helper('core')->jsonEncode($string) );
var_dump( json_encode($string) );
我never been clear如果将非对象字符串数据类型编码为javascript字符串是JSON编码的副作用,或者它是真的,根据 Hoyle Crockford JSON,所以我总是喜欢在传递它们时将我的字符串包装在一个对象中
$o = new stdClass();
$o->param = 'This is my
Param';
$json = json_encode($o);
echo 'var data = ' . $json . ';' . "\n";
echo 'var jsdata = data.param';
这是你用javascript处理这个问题的方法。没有专门为此构建的方法。如果您有兴趣查看块中可用的辅助方法,请查看
中的方法app/code/core/Mage/Core/Block/Abstract.php
app/code/core/Mage/Core/Block/Template.php
如果您正在处理一个模板,该模板是链上一个块的一部分,请获取其类,然后检查其定义
var_dump get_class($this);