9

TinyMCE で BBCode プラグインを使用していますが、プレビューと HTML コードの間で改行が同じように表示されていません。

エディター ウィンドウに次の行があります。

This is line one

This is line three

2 行目は空です。これを HTML で表示すると、次のようになります。

This is line one
This is line three

余分な空行なし。

tinyMCE.init({
    mode : "textareas",
    theme : "advanced",
    plugins : "bbcode",
    entity_encoding : "raw",
    remove_linebreaks : false,
    force_p_newlines : false,
    force_br_newlines : true,
    forced_root_block : ''
});

私は何が欠けていますか?

4

8 に答える 8

4

Firefox 3.5.7 と Google Chrome 4.0.223.11のテスト ページでテストしました。

html:

tinyMCE.init({
  theme : "advanced",
  mode : "textareas",
  plugins : "bbcode",
  content_css : "bbcode.css",
  entity_encoding : "raw",
  add_unload_trigger : false,
  remove_linebreaks : false,
  apply_source_formatting : false
});

段落間のスペースは、次のような単純な CSS (「bbcode.css」) を使用して削除できます。

p {margin:0; padding: 0;}
于 2010-01-20T15:18:06.960 に答える
1

HTML コードを出力するには、おそらく次の関数を使用するnl2br()必要があります。

nl2br — 文字列内のすべての改行の前に HTML 改行を挿入する

force_p_newlinesまたは、オプションを に設定することもできますtrue


私はそれをテストしましたが、あなたは正しいですが、動作は BBCode プラグインでのみ発生します。preformatted : trueオプションを使用するtinyMCE.initことで、問題を解決できるはずです。

于 2010-01-14T15:21:37.803 に答える
1

これを行う別の方法を次に示します。Enter キーと Shift+Enter キーの動作を変更するだけです。

ed.onKeyPress.add(
    function (ed, evt) {
            if(evt.shiftKey && evt.keyCode == 13) {
                tinyMCE.execCommand('mceInsertContent', false, '<br><br>');
                tinymce.dom.Event.cancel(evt);
                //alert('shift enter key');
                return;
            } 
            if(evt.keyCode == 13 && !evt.shiftKey) {
                tinyMCE.execCommand('mceInsertContent', false, '<br>');
                tinymce.dom.Event.cancel(evt);
                //alert('enter key');
                return;             
            }                
        });
于 2011-09-08T11:03:48.970 に答える
1

TinyMCE 構成から、改行の動作を選択できます

http://www.tinymce.com/wiki.php/Configuration3x:force_br_newlines

TinyMCE は、段落を挿入する代わりに改行に BR 要素を強制します

tinyMCE.init({
    ...
    force_br_newlines : true,
    force_p_newlines : false,
    forced_root_block : '' // Needed for 3.x
});
于 2010-01-20T16:40:23.340 に答える
0

私も同じ問題を抱えてる。これはbbcodeプラグインのソリューションです:

forced_root_block : false,
remove_redundant_brs : false,
valid_elements: "br",
verify_html : false,
于 2010-04-14T15:21:03.833 に答える
0

<p>参考までに-タグを使用するのと使用しないのが「正しいこと」であるという政治的ドラマにもかかわらず、<br>私にとっての問題は、コンテンツをメールで送信していたことでした-メールでは、私は制御できませんタグの CSS を介して<p>(すべてのタグにインライン CSS を追加したい場合を除きます)。そのため、<p>タグは、エンドユーザーにとって二重の行間隔のように見えるものを追加していました. スペースを削除するために自分のサイトに CSS を追加したところ、コンテンツは問題なく表示されました。

タグを使用した後<br>、 で「正しい方法」に<p>進み、再びタグの使用に<br>戻ります...

于 2010-07-08T05:48:30.720 に答える
0

構成オブジェクトに追加してみてください

valid_elements: 'br'  //and any others that you want
于 2010-01-20T23:36:21.547 に答える
0

TinyMCE 4でも同じ問題がありますが、私にとってはこの構成で作業しています

mode: 'exact',
inline: true, 
add_unload_trigger: false, 
schema:"html5", 
invalid_elements: "span", 
extended_valid_elements : "span[!class]", 
paste_remove_styles: true,
forced_root_block : false, 
verify_html : false,
cleanup : true
于 2013-09-26T06:54:55.277 に答える