2010-12-03 11 views
2

私はまだこの問題の実際の解決策を見つけることはできません。phpのインテグレーションでfckeditor 2のスタイル属性を許可する

FCKeditor 2では、PHP統合メソッドを使用すると、エディタに渡されるhtml要素のCSSスタイリングが削除されます。

したがって、この:

<div>hello</div> 

が、私は編集者がそれを保存する時に正しくスタイリングに合格することを確認することができますが、エディタにロードする場合:

<div style="color:#000;background:blue">hello</div> 

このように終わるだろうそれは取り除かれ、したがって第2セーブ時に除去される。

残念なことに解決策ではない唯一の解決策は、私のコーディング構造では動作しないJavascript Integrationを使用するか、マジッククォートをオフにすることです。私は魔法引用符を頼りにしないようにしたいのですが、今のところ、これを実行することが他のどこかに損なわれないように、かなり大きなコードベースを辿る時間はありません。

FCKeditor 2を使用して、マジッククォートを有効にしたPHP統合を使用してこれを解決する方法を質問していますか?私はすでにfckeditor.jsのFCKConfig.RemoveAttributesから 'スタイル'を削除しました

「CKeditorへのアップグレード」、「JavaScriptの統合を使用する」、「魔法の引用符を無効にする」などのソリューションを提供しないでくださいこの投稿の助けていただきありがとうございます。うまくいけば、解決策が同じ問題を持つ他の多くの人に役立つことを発見しました。

デビッド

答えて

1

がより直接的であるが、@マレック答え -

代わりの魔法をオフにしますPHP側では、get_magic_quotes_gpc()を使用してマジック引用符が有効になっているかどうかを検出し、stripslashes()を使用すれば取り消すことができます。

$html = $_POST['html']; // as an example 
if (get_magic_quotes_gpc()) $html = stripslashes($html); 
0
function stripslashes_deep($value) { 
    if (is_array($value)) { 
     $value = array_map('stripslashes_deep', $value); 
    } else { 
     $value = stripslashes($value); 
    } 
    return $value; 
} 

if (get_magic_quotes_gpc()) { 
    $_POST = stripslashes_deep($_POST); 
    $_GET = stripslashes_deep($_GET); 
    $_COOKIE = stripslashes_deep($_COOKIE); 
    $_REQUEST = stripslashes_deep($_REQUEST); 
} 
+0

それは、常にこれらのソリューションを見るために私を気にも 'ini_set(「magic_quotes_gpcのは」、0)ではない;'場合には魔法の引用フラグを無効にするには、いくつかの他のライブラリも、それを検知して、再度入力を取り除きます。 – gnarf

関連する問題