Seo Форум & ИИ

Web разработка => Разработка сайтов => Тема начата: Sorokin Vladimir от 29-06-2017, 16:55:41

Название: Текстовые редакторы движков перекраивают HTML код
Отправлено: Sorokin Vladimir от 29-06-2017, 16:55:41
Столкнулся с такой проблемой – текстовые редакторы движков при редакции страницы из админки перекраивают HTML код по-своему.
То, что в некоторых  пропадает закрывающий слеш (например, вместо <br />, он пишет <br>, вместо <img src="img" />, пишет <img src="img">) еще не так проблемно, а вот то, что пропадают значки-иконки Будстрап, Амезон и тд, уже очень плохо....
Причем как то избирательно. Например "fa fa-home" пропускает, а вот такое
<div class="align"><i class="icon-cog-circled"></i></div>
перекраивает в такое
<div class="align"><br /><br />&nbsp;</div>

то есть редакторы не «понимают» выражения типа   <i>...........</i>   и заменяют их на что то другое.

Перепробовал такие вот редакторы: FCKeditor; TinyMCE; Imperavi; LiveEditor; NicEdit; Redactor, все они переписывают код по-своему.

Подскажите, плиззззз, решение такой заморочки. Ну, или толковый редактор.
Спасибо!

Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: Vlad03 от 30-06-2017, 11:06:57
Есть такая беда, попробуйте этот TinyMCE Advanced.
Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: Sorokin Vladimir от 30-06-2017, 14:14:20
Цитата: Vlad03 от 30-06-2017, 11:06:57
Есть такая беда, попробуйте этот TinyMCE Advanced.
этот редактор тоже в моем "черном списке"......
Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: ProtectYourSite от 06-07-2017, 09:26:43
Большинство редакторов можно настроить и указать, какие  теги надо резать, а какие нет. И где  Вы используете эти редакторы?
Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: Sorokin Vladimir от 06-07-2017, 12:44:53
Цитата: ProtectYourSite от 06-07-2017, 09:26:43
Большинство редакторов можно настроить и указать, какие  теги надо резать, а какие нет. И где  Вы используете эти редакторы?
Настройку по-быстрому, с наскока не получилось сделать...
Пытался по аналогии замены <br> на <p>, но видно чего то я недопонимаю.
Стоят эти редакторы в разных сборках движка Kandidat CMS.
Сейчас работаю со сборкой с редактором FCKeditor, он наиболее адекватно относиться к 99% тегов.
А тег </i>, автозаменой меняю еще в шаблоне на тег <span>, но это конечно не выход.
Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: nvs-vovan от 06-07-2017, 19:30:46
ЦитироватьСтолкнулся с такой проблемой – текстовые редакторы движков при редакции страницы из админки перекраивают HTML код по-своему..

Цитата: Sorokin Vladimir от 06-07-2017, 12:44:53Стоят эти редакторы в разных сборках движка Kandidat CMS.

Хороший выход, это просто блокнот )

1. Открываем в текстовом редакторе  Notepad++ нужные файл, который расположен по адресу папка сайта \articles\категория\название-страницы.dat (Пункт 1 Картинки)
2. Если делаем это постоянно, то выбираем синтаксис html для данного вида файлов (.dat), делаем это для того, чтобы блокнот нам красиво подсвечивал html-теги. Если всё равно, пункт 2 можно пропустить.
3.  (Пункт 4 Картинки)
<!-- Kan_content -->
Сюда вставляем содержание страницы с тегами.
Например:
<div class="align"><i class="icon-cog-circled"></i></div>
<!-- Kan_content -->
4. Жмем сохранить, на этом всё.
З.Ы. Таким образом, нам вообще не нужен никакой текстовый редактор движка ), да и админка по сути ненужна, ведь нам никто не мешает копировать страницы, а между спецкодами ставить название страницы, её описание и ключевые слова. Спецкоды у вас будут немного отличаться, так как часть я переделал под собственные нужды, но основные будут совпадать. В принципе, там всё понятно, куда какая информация должна добавляться.
Однако, прошу обратить внимание, при вставки текста в <!-- Kan_content -->, он должен быть размечен тегами полностью.

(https://www.sbup.com/seo-forum/proxy.php?request=http%3A%2F%2Fnvs71.ucoz.ru%2Fimg%2F2017%2F4.png&hash=ccb4ad1bc9c355902ded842de3f1050db880cdf6)


Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: Sorokin Vladimir от 06-07-2017, 19:51:13
Цитата: nvs-vovan от 06-07-2017, 19:30:46Таким образом, нам вообще не нужен никакой текстовый редактор движка ), да и админка по сути ненужна, ведь нам никто не мешает копировать страницы, а между спецкодами ставить название страницы, её описание и ключевые слова. Спецкоды у вас будут немного отличаться, так как часть я переделал под собственные нужды, но основные будут совпадать. В принципе, там всё понятно, куда какая информация должна добавляться.
Вы это расскажите пользователю, который добавляет и редактирует страницы из Админки, по другому не умеет, да и не обязан уметь!

Все, что вы описали, я делаю со своими сайтами с самых первых дней.

Но как быть клиенту, который изменил в редакторе Админки всего-навсего одно слово и у него  пропали все символы и иконки, так как редактор уничтожил все теги <i class="icon-cog-circled"></i> ?!


Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: nvs-vovan от 06-07-2017, 20:04:19
Цитата: Sorokin Vladimir от 06-07-2017, 19:51:13Вы это расскажите пользователю, который добавляет и редактирует страницы из Админки, по другому не умеет, да и не обязан уметь!

Это я должен был откуда узнать? В вашем вопросе, вы так красиво описываете стили Bootstrap 3, с неким упоминанием добавлением иконок через шрифты awesome, а не только glyphicon...

Вот я подумал, что уж вставить код, не вызовет никаких проблем )))

А пользователю своему скажите, пусть он если не понимает, не открывает редактор кода, а правит в визуальном редакторе как уж получится ... ибо, если он да и не обязан знать, то нечего лезть туда куда не знаешь ;)
Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: Sorokin Vladimir от 07-07-2017, 07:56:39
Извините за несколько резкий ответ!
Что бы не было ругачек между нами, проясню ситуацию.
Человек хочет заказать у меня сайт. Я предлагаю ему, для начала, выбрать готовый шаблон (есть у меня подборка на все случаи) если нет то, делаю ему «с нуля».
Затем он либо шаблон просто забирает, либо просит натянуть на движок.
А потом он уже добавляет контент через админку, а большинство прямо в админке, в редакторе, его и пишут, как делают миллионы счастливых обладателей сайтов на самых разных движках с визуальными редакторами.
Вот так все и случилось в первый раз....
Заказчик выбрал шаблон, я натянул его на движок. Буквально через несколько часов он связался со мной и рассказал, что стал менять название сайта и увидел, что пропали все иконки. Вот тогда и всплыла эта проблема......
Теперь я конечно сначала сам обкатываю шаблон, и меняю проблемные теги, но все это отнимает много времени и, по большому счету  -  не выход из положения.
Хотелось бы навести порядок в самом редакторе, а настолько хорошо  я редакторы не знаю......
Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: nvs-vovan от 07-07-2017, 13:13:56
Цитата: Sorokin Vladimir от 07-07-2017, 07:56:39Буквально через несколько часов он связался со мной и рассказал, что стал менять название сайта и увидел, что пропали все иконки. Вот тогда и всплыла эта проблема......

Давно уже админку не открывал ) Открыл глянуть ... так название сайта меняется не в редакторе же ... там вообще нет никакого редактора изменения  хранятся  в файле functions.php и добавляется название в меню командой php вставить ... Как это могло повлиять на какие-то там иконки стилей не очень понятно. Так что ваш заказчик скорее всего лазил через блокнот в файле menu.php или template.php ;) а говорит, как и все говорят ... ничего не трогал, только кнопочку нажал, оно само )))
В принципе это и хорошо, оказываете так сказать текущую поддержку сайта )
Открыл редактор в Kandidat_CMS_202_CKEditor так я даже не нашел в нем как можно переключиться из визуального редактора в редактор кода ) Поэтому как вы и заказчики умудряетесь через редакторы вводить теги, для меня загадка ... к сожалению, с редакторами ничем не могу помочь.
Мой совет был как обойти проблему без редакторов.
Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: Sorokin Vladimir от 07-07-2017, 14:22:55
Я говорю про иконки в шаблоне сайта, а не редактора.
Шаблон типа Лендпейдж  -  одна длинная страница и править все очень легко именно из админки в текстовом (визуальном) редакторе.
В админке заходите в «начало» и справа кнопочки, возле каждой страницы «редактировать».
И для того, что бы редактор сделал свое «черное дело» не надо лезть в исходный код, достаточно изменить одно слово и нажать внизу кнопочку «Изменить».
Что мой клиент и сделал.....
А редактор кода открывается кнопочкой «источник»



Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: nvs-vovan от 07-07-2017, 16:24:26
Цитата: Sorokin Vladimir от 07-07-2017, 14:22:55А редактор кода открывается кнопочкой «источник»

Точно, я не додумался ... ну что же, теперь буду знать, может пригодится когда.

А в вашем случае, как вы уже упоминали остается тег <span class=""></span> раз он работает, тем более, что в и мануале по Bootstrap 3 иконки рекомендуют делать именно в теге span, а не в i.
Поэтому, раз span не режет редактор не вижу никаких проблем и поводов менять редактор из-за такой мелочи ... на мой конечно скромный взгляд )
Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: Sorokin Vladimir от 23-07-2017, 16:13:24
В недрах интернета нашел решение, как прекратить самовольное редактирование (удаление) тегов при работе с редактором СКЕ.
В штатный файл «config.js» прописываем (меняем) такой код:

/**
* @license Copyright (c) 2003-2017, CKSource - Frederico Knabben. All rights reserved.
* For licensing, see LICENSE.md or http://ckeditor.com/license
*/

CKEDITOR.editorConfig = function( config ) {
   // Define changes to default configuration here. For example:
   // config.language = 'fr';
   // config.uiColor = '#AADC6E';
    config.enterMode = CKEDITOR.ENTER_BR;
    config.shiftEnterMode = CKEDITOR.ENTER_P;
    config.allowedContent = true;
    config.protectedSource.push(/<(style)[^>]*>.*<\/style>/ig);
   config.protectedSource.push(/<(script)[^>]*>.*<\/script>/ig);// разрешить теги <script>
   config.protectedSource.push(/<(i)[^>]*>.*<\/i>/ig);// разрешить теги <i>
   config.protectedSource.push(/<\?[\s\S]*?\?>/g);// разрешить php-код
   config.protectedSource.push(/<!--dev-->[\s\S]*<!--\/dev-->/g);
    config.indentClasses = ["ul-grey", "ul-red", "text-red", "ul-content-red", "circle", "style-none", "decimal", "paragraph-portfolio-top", "ul-portfolio-top", "url-portfolio-top", "text-grey"];
    //config.contentsCss = ["/css/bootstrap.css", "/css/styles.css"];
   config.contentsCss = ["/css/styles.css"];
    config.disableNativeSpellChecker = false;
   customConfig: '/js/bootstrap.min.js';
   config.bodyClass = 'mystyle';
    config.fontawesomePath = '/js/ckeditor/plugins/fontawesome/font-awesome/css/font-awesome.min.css';
    config.codeSnippet_languages = {
    javascript: 'JavaScript',
    php: 'PHP',
      html: 'HTML',
      css: 'CSS',
      mysql: 'MYSQL'
   };
};

После чего 99% тегов остаются без изменения.
Название: Re: Текстовые редакторы движков перекраивают HTML код
Отправлено: Виктор4324 от 17-06-2025, 13:12:01
Попробуй ContentTools или Markdown-редакторы с поддержкой HTML. Но лучше писать код вручную или использовать более надежные инструменты, такие как VS Code с плагинами для предпросмотра. В конечном итоге, это сэкономит кучу времени и нервов.