web-dev-qa-db-ja.com

tinymceが入力から空のタグを取り除くのを防ぐ方法は?

私はさまざまなフォーラムやここのSOで大量の投稿を読みましたが、tinymceが編集可能なブロックの最後から空のタグを取り除くのを防ぐことがまだできないようです。

例えば。私はこれを入力します:

<a href="blah">zzz</a>
<div class="floatClearer" style=""></div>

..そして(HTMLモードの内外で)往復すると、tinymceは<div class="floatClearer" style=""></div>全体を取り除きます。

私が見つけたさまざまなアドバイスに従って、私はこれらのものを試しました、そしてもっと:

  • valid_elementsdivの前にあるマイナス記号を削除します。

...そしてこれらの設定。オプション:

  • verify_html : false,
  • extended_valid_elements : "div*",
  • extended_valid_elements : "div[*]",

ALLは無効です。その剥ぎ取り行為を防ぐ方法はありますか?他にも空のタグが必要な場所があります(この1つの例だけではありません)。空のタグを使用しないように提案するのではなく、質問に固有の回答を教えてください。

24
govinda

TinyMCEにバグがありましたが、現在は修正されています(v3.5.2)。 @ Thariama に感謝!

今後の検索者向け: verify_html オプション。

このオプションは、要素のクリーンアップ機能を有効または無効にします。このオプションをfalseに設定すると、すべての要素のクリーンアップがスキップされますが、URL変換などの他のクリーンアップ機能は引き続き実行されます。

使用例:

tinyMCE.init({
    ...
    verify_html: false
});
18
naXa

stillこの問題にぶつかったので、これをここに貼り付けます[〜#〜]すべて[〜#〜]必要な時間WordPressブログ(今でも2016年))空のdivを使用してGoogleアナリティクス、Google翻訳およびGoogleタグマネージャーを挿入します。

典型的なパターンは、ブログページの必要な場所に1つ追加し、次に戻ってTinyMCEエディターのwhammoでページをタッチすると、divが削除されます。

[〜#〜] only [〜#〜]常に確実に機能しているように見えるものは何かです次のように:

<div id="google_translate_element" style="text-align:right;"><span style="display:none;">ha_ha_I_beat_u_tinyMCE</span></div>
3
Cliff Ribaudo

私も問題があるので、レンガを追加しています。クリフ・リバウドの回答の上に。

だから私は&nbsp;削除されず、検索エンジンによっても表示されない空のタグの内部。

そうすることは私のtinyMCEで取り除かれていません:<div class="someclass">&nbsp;</div>

3
antoni

私にとっての解決策は極端で、すべてを受け入れるように有効な要素を拡張することでしたが、理想的ではないかもしれませんが、クライアントは満足しています

function override_mce_options($initArray) {
     $opts = '*[*]';
    $initArray['valid_elements'] = $opts;
    $initArray['extended_valid_elements'] = $opts;
    return $initArray;
}
add_filter('tiny_mce_before_init', 'override_mce_options');
1
nodws