2012-03-08 9 views
1

私が提供するオプションの1つは、ColorZillaなどの信頼できるソースから独自のCSSグラデーションコードをコピー&ペーストする機能です。JavaScriptで使用するphp変数にCSSコードを格納する方法

コードのプログラミングの意味を保持したまま、このようなコードをPHPオブジェクトに保存して(デフォルト設定として使用する)、javascript/jqueryコード内に出力するにはどうすればよいですか。私は "addslashes()"を無駄に使用しようとしました。現時点で

は、私が持っている:

アイブ氏が得たタグ内の後に続いて
$default_options = array(
     'header_wrap_grad'   =>   ' 
              background: rgb(169,3,41); /* Old browsers */ 
              background: -moz-linear-gradient(top, rgba(169,3,41,1) 0%, rgba(143,2,34,1) 44%, rgba(109,0,25,1) 100%); /* FF3.6+ */ 
              background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgba(169,3,41,1)), color-stop(44%,rgba(143,2,34,1)), color-stop(100%,rgba(109,0,25,1))); /* Chrome,Safari4+ */ 
              background: -webkit-linear-gradient(top, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); /* Chrome10+,Safari5.1+ */ 
              background: -o-linear-gradient(top, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); /* Opera 11.10+ */ 
              background: -ms-linear-gradient(top, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); /* IE10+ */ 
              background: linear-gradient(top, rgba(169,3,41,1) 0%,rgba(143,2,34,1) 44%,rgba(109,0,25,1) 100%); /* W3C */ 
              filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=\'#a90329\', endColorstr=\'#6d0019\',GradientType=0); /* IE6-9 */ 
              ', 

:#ヘッダ・ラップ・大学院との

$('#header-wrap-grad').attr('value', '<?php echo addslashes($default_options['header_wrap_grad']); ?>'); 

は、私はテキストエリアであること変数からのCSSコードを入力しようとしています。しかし、これは動作していません。私が変数をエコーアウトしようとすると、このエラーが発生する "予期しないトークン:"

誰かが正しい方向に私を向けることができますか?

ありがとうございました。

答えて

2

あなたはJavaScriptの文字列を作成するので、json_encode(なし周囲の引用符)を使用している:

$('#header-wrap-grad').attr('value', <?php echo json_encode($default_options['header_wrap_grad']); ?>); 
+0

おかげJW。それは完璧に働いた! – Codemagnet

1

文字列内の改行に問題があり、JSコードが改行されます。

PHPで文字列をrawurlencodeでエンコードし、decodeURIComponentでJS内の文字列をデコードすることができます。

$('#header-wrap-grad') 
.attr('value', 
    decodeURIComponent('<?php echo rawurlencode($default_options['header_wrap_grad']); ?>')); 
関連する問題