0

プロジェクトで jquery と CKEditor を使用しています。ユーザーが CKEditor で HTML コードを作成/編集できるようにしたい。エディターで複数のテキストエリアタグを入力すると、次のように両方ともテキストエリア内に留まるため、問題なく表示されます。

ここに画像の説明を入力

その後、保存してみましたが、ファイル内のソースコードを確認したところ、正しく保存されていることが確認できました。

しかし、再度 CKEditor でファイルを開くと、以下のように正しく表示されません。

ここに画像の説明を入力

以下は私が使用したサンプルコードです。ただし、完成したコードではありません。

      <textarea id="eidtArea" name="editScriptContent"><!--Load the saved file here (I will skip this part here)--></textarea>
        <script type="text/javascript">
               CKEDITOR.replace( 'eidtArea');
        </script>   

私の質問は次のとおりです。

    1. このプラグインで何か設定を忘れていますか、それともできる回避策はありますか?
    2. 実際、このプラグインを使用する必要はありません。ユーザーがコードを編集するには、テキストエリアを使用するだけです。基本的に、このプラグインを使用したい主な理由は、ユーザーがエディターでテキストエリア タグを作成できるようにするためです。ただし、エディターとして textarea タグを使用するだけでは、このエディター内に他の textarea タグを追加することはできません。このアプローチの回避策はありますか?もしそうなら、この場合は本当に CKEditor を使用する必要があります。
4

1 に答える 1

0

で印刷する前に、HTML をエンコードする必要があります<textarea>。それ以外の場合、バックエンドはこれを生成します:

<textarea id="editor">
    <p>Some text: <textarea>foo</textarea></p>
    <p>Some text: <textarea>bar</textarea></p>
</textarea>

ブラウザによって次のように解析されます。

<textarea id="editor">
    <p>Some text: <textarea>foo
</textarea>
// And here the rest of the content of the editor,
// but outside the editor's textarea

したがって、少なくともすべての<文字を に置き換える必要があります&lt;。たとえば、PHP を使用する場合は、コンテンツをhtmlspecialchars()関数に渡す必要があります。

于 2014-11-11T00:29:54.230 に答える