web-dev-qa-db-ja.com

ckeditorから段落タグを削除する方法は?

コンテンツをckeditorフィールドに挿入するとき、htmlタグなしでテキストの1行をckeditorに書き込むと仮定します。これは、テキストを自動的にラッピングparagraphタグで囲む理由です。

これを削除する必要があります段落タグこれはページの構造を壊すためです。

4
user59414

Drupal 8では、ここで参照されているように、hook_editor_js_settings_alterを実装し、config.autoParagraphをfalseに設定する必要がある場合があります。 CKEDITOR.config.autoParagraph

/**
 * Implements hook_editor_js_settings_alter().
 */
function MODULE_editor_js_settings_alter(array &$settings) {
  foreach ($settings['editor']['formats'] as $name => $value) {
    $settings['editor']['formats'][$name]['editorSettings']['autoParagraph'] = FALSE;
  }
}
1
foopal

許可されたHTMLタグに<p>がなく、[許可されたHTMLタグを制限し、問題のあるHTMLを修正する]フィルターを有効にすると、<p>はフロントエンドに出力されません。これらの設定は、/admin/config/content/formatsに表示されるテキスト形式ごとに表示されます。

許可される形式 モジュールを使用すると、特定のフィールドを特定の形式に制限できます。このようにして、このフィールドを特定のテキスト形式(<p>タグは許可しないが他の場所では許可する)に制限できます。

0
sonfd

Drupal 7では、admin/config/content/ckeditに移動するか、変更するプロファイルの[編集]を押してから、[カスタムJavaScript構成](詳細オプションセクション)の下にあります)この行を追加します。

config.enterMode = CKEDITOR.ENTER_DIV;

alex-petrovによる元の回答の詳細:

https://drupal.stackexchange.com/a/30995/5501

0
Pin

Drupal 8で、CKeditorを使用してテキストフォーマットを「フルHTML」に変更した場合(divタグを許可する場合)、ソースをクリックして、<p><div>に変更すると、自動的に追加されません。次にコンテンツをロードするときに<p>タグ。

これは、( clive に言及したように)ドキュメントのルートにブロックレベルの要素が必要なためです。

サイトはグローバルなpスタイル、間隔、境界線、パディングなどを持つ可能性が低いため、これはdivタグで囲むよりも問題が少ないことがよくあります。

0
munkiepus