2

CKEditor を使用して、コンテンツを MySQL データベースに保存しています。エディターでコンテンツを再度編集しようとすると、HTML タグがテキストとして表示されます。次に例を示します。

my test<br />and second line

エディターで正しく表示するにはどうすればよいですか?

私は htmlentities と html_entity_decode および CKEditor 関連の設定を 1 時間以上いじっていますが、役に立ちません。

   $config = array();
   $config['enterMode'] = 2;
   $config['shiftEnterMode'] = 1;
   //$config['basicEntities'] = FALSE;
   //$config['entities'] = FALSE;
   //$config['entities_greek'] = FALSE;
   //$config['entities_latin'] = FALSE;
   //$config['htmlDecodeOutput'] = TRUE;

   $ck_editor->editor("sec1_content", $default_value, $config);
4

2 に答える 2

7

CodeIgniter の funcが何らかの形でset_value()動作するようです。htmlspecialchars()したがって、CKEditor で <any_tag> を取得している場合、この回避策が役立ちます。変化する

$ck_editor->editor("sec1_content", set_value('sec1_content', html_entity_decode($default_value)), $config);

これに:

$ck_editor->editor("sec1_content", html_entity_decode(set_value('sec1_content', $default_value)), $config);

PoloRM
set_value の前後に html_entity_decode を配置します。この理由は明らかに、set_value メソッドが $default_value パラメーターを使用せず、代わりにポストされたデータを返す可能性があるためです。

于 2013-03-22T11:00:51.640 に答える
1

CodeIgniter/CKEditor で同じ問題を抱えている可能性のある人向け:

この問題を解決し、引き続き CodeIgniter の set_value() メソッドを使用する方法は次のとおりです。

$ck_editor->editor("sec1_content", set_value('sec1_content', html_entity_decode($default_value)), $config);

これを行う:

$ck_editor->editor("sec1_content", html_entity_decode(set_value('sec1_content', $default_value)), $config);

set_value の周りに html_entity_decode を配置します。この理由は明らかに、set_value メソッドが $default_value パラメーターを使用せず、代わりにポストされたデータを返す可能性があるためです。

私の間違いに気づかせてくれてありがとう、コランバ。

于 2013-03-22T10:46:01.603 に答える