簡體   English   中英

jgent的magento轉義字符串

[英]magento escape string for javascript

是否有一個幫助函數可以正確地轉義字符串,以呈現為引用JavaScript字符串文字的單引號?

我知道jsQuoteEscape但它只處理引號而不處理\\ n&\\ r \\ n等。

所以如果我的字符串是'line1 \\ nlineb'(即兩行之間有換行符)

我用

var jsvar='<?php echo $this->helper('myextension')->jsQuoteEscape($mystring); ?>';

我會進入渲染的內容

    var jsvar='line1
line2';

這是一個語法錯誤。

謝謝,Eyal

$string = 'Hello
There';                     
var_dump( Mage::helper('core')->jsonEncode($string) );
var_dump( json_encode($string) );

根本不清楚,如果將非對象字符串數據類型編碼為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);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM