Возможно, вы захотите заменить теги
и
Единственный способ, я могу думать об удалении тегов HTML но оставляя не-HTML между угловыми скобками, будет проверяться на список тегов HTML . Что-то в этом направлении ...
replaceAll("\\<[\s]*tag[^>]*>","")
Затем HTML-декодирование специальных символов, таких как &
. Результат не следует считать дезинфицированным.
Скопируйте ваш html из браузера (на самом деле html не означает вывод вашего html), а затем вставьте его в редактор Gutenberg. Гутенберг сам позаботится о разборе.
Gutenberg также предоставляет дополнительные функции, в которых он поддерживает вставку копий из документов MS Word.
Существует небольшая вспомогательная функция, которая сначала конвертирует необработанный HTML-код в блоки Гутенберга, а затем сериализует его в готовый для Гутенберга пост-контент.
Запрос сценария
function load_admin_resources_footer() {
wp_enqueue_script( 'filter', get_template_directory_uri() . '/js/article-filter.js', array('jquery', 'wp-blocks', 'wp-edit-post'));
}
add_action('admin_footer', 'load_admin_resources_footer');
Преобразование в блоки
var editholdy_is_activate = false;
function convert_to_gutenberg(content, remove_spaces = false) { // "'wp-blocks', 'wp-edit-post'" - should be setted as current script dependecies
// initiate all built-in gutenberg blocks
if (!editholdy_is_activate) {
$('<div />').attr('id', 'editholdy').attr('style', 'display: none').appendTo('body');
wp.editPost.initializeEditor('editholdy');
editholdy_is_activate = true;
}
var gutblock = wp.blocks.rawHandler({
HTML: content,
});
var serelized = wp.blocks.serialize(gutblock);
serelized = (remove_spaces) ? serelized.replace(/(\n|\r)/g, '') : serelized;
return serelized;
}