1

I've just installed CKeditor rich text WYSIWYG editor on a site I'm building and it seems to be working ok except for the fact that it inserts text into my mysql database as encoded html rather than regular html and then when the browser outputs this text it converts the encoded data into regular html that then displays in the browser showing the html tags and none of the styling!?

eg I type:

"This is text"

into the editor and it then inserts

<p>This is text</p>

into the database. Then when the page is called the browser converts the above and outouts the following on the page:

<p>This is text</p>

obviously I just want "This is text" to display on the page.

Does anyone know why this is happening/how to solve it please?

Any suggestions would be most welcome.

Cheers

4

3 に答える 3

3

CKEditor に段落を作成させたくない場合は、config.autoParagraphfalse に設定します。config.enterModeさらに、 set to を使用してエンター キーの動作を変更することもできますCKEDITOR.ENTER_BR

そして消えるスタイルについては……


編集:わかりました、私はあなたの要点を逃したようです。

あなたの Web サイトは、入力した内容をレンダリングする際に、HTML ではなく HTML マークアップを表示していますか? 次に問題は、CKEditor ではなくサーバー側にあります。CKEDITOR.instances.yourInstance.getData()エスケープされていない正しい HTML が生成されることをコンソールで確認できます。

<p>This is text</p> // Right!

もしそうなら、そして私はそれがそうであると強く信じています.CKEditorは問題なく、データベースに保存するときに特殊文字をエンティティに変換するサーバーアプリです(つまり、PHP htmlspecialcharsのように). そこで使用しているフレームワーク/言語の種類について言及していないので、クロスサイトスクリプティングやレイアウトの破壊などを防ぐためにユーザー入力を保護することであり、一般的なすべてのフレームワークではその機能を無効にすることができます。特定の分野。ドキュメントを参照するだけです。

于 2013-10-05T11:17:32.707 に答える