JavaScript — предотвращение или удаление тега p, размещенного вокруг изображений в CKEditor4

Моя проблема <p> теги размещаются вокруг загруженного изображения в CKEditor4. Обычно это не такая уж большая проблема, но в некоторых шаблонах (например, при начальной загрузке) начинает появляться CSS.

В настоящее время я получаю это после загрузки изображения:

<p><img src="http://web-answers.org/wp-content/uploads/2019/02/example.jpg"></p>

Хотелось бы иметь только:

<img src="http://web-answers.org/wp-content/uploads/2019/02/example.jpg">

Я попытался добавить (без успеха для изображений):

config.autoParagraph = false;

Я посетил много потоков здесь на stackoverflow и большинство из них ссылаются на WordPress, который я не использую. CKEditor находится в простой CMS для школьных блогов в локальной сети.

Найдена ссылка на плагин WordPress, который, как говорят некоторые, будет работать (убрать все ссылки из WP), но с треском провалился:

<?php
/*
Plugin Name: Paragraph Remover
Description: Removes paragraphs around images
Version: 0.1
Author: Martin Vlcek
Author URI: http://mvlcek.bplaced.net
*/

# get correct id for plugin
$thisfile = basename(__FILE__, ".php");

# register plugin
register_plugin(
$thisfile,
'PRemover',
'0.1',
'Martin Vlcek',
'http://mvlcek.bplaced.net',
'Removes paragraphs around images',
'',
''
);

# activate filter
add_filter('content','premover_replace');

function premover_replace($content) {
return preg_replace_callback("/<p>(?:\s|&nbsp;)*(<a[^>]+>)?(?:\s|&nbsp;)*(<img[^>]+>)(?:\s|&nbsp;)*(<\/a>)?(?:\s|&nbsp;)*<\/p>/",'premover_replace_match',$content);
}

function premover_replace_match($match) {
return $match[1].@$match[2].@$match[3];
}

Не может найти решение и надеется на какой-либо вклад. Либо плагин, либо JavaScript, либо PHP, это не имеет значения.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …