是否有一个辅助函数可以正确转义要呈现为单引号引用的 JavaScript 字符串文字的字符串?
我知道 jsQuoteEscape 但它只处理引号而不处理 \n & \r 等。
所以如果我的字符串是 'line1\nlineb' (即两行之间有换行符)
我用
var jsvar='<?php echo $this->helper('myextension')->jsQuoteEscape($mystring); ?>';
我将获取渲染的内容
var jsvar='line1
line2';
这是一个语法错误。
谢谢,
埃亚勒
Yes
$string = 'Hello
There';
var_dump( Mage::helper('core')->jsonEncode($string) );
var_dump( json_encode($string) );
I've never been clear https://stackoverflow.com/questions/4771317/does-json-officially-support-conversion-of-native-types if this encoding a non-object string datatypes as a javascript string is a side-effect of the JSON encoding, or if it's true, according to Hoyle Crockford JSON, so I always like to wrap my strings in an object when passing them around
$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);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)