проблемы со стилем Tynymce - PullRequest
0 голосов
/ 10 июня 2010

я не уверен, почему, но tinymce удалить все

<style>
...
</style>

информацию в текстовой области

что я могу сделать?10x

Ответы [ 3 ]

1 голос
/ 10 июня 2010

Для записи CKEditor не является преемником TinyMCE, а просто конкурентом.

Вы можете сохранить теги стиля в содержимом, указав 'style' в качестве одного из разрешенных тегов в конфигурации проверки TinyMCE.Просто добавьте:

extended_valid_elements: "style"

в конфигурацию, которую вы передаете init.

0 голосов
/ 04 августа 2015

Если вы используете WYSIWYG TinyMCE или CKEditor и Framework CodeIgniter версии> 2.0, у вас могут возникнуть проблемы с исчезающим атрибутом стиля.

Вы устанавливаете стиль, как и после отправки формы, которую вы получаете.

Где, черт возьми, стиль = ””?

Возможно, вы включили эту опцию в файле config.php:

$config['global_xss_filtering'] = TRUE;

После отключения глобальной фильтрации WYSIWYG не теряет стили.

Лично я не хотел отключать эту функцию, поэтому сделал обходной путь; o)

Отредактировано по предложению Барта не связываться с основными файлами; o)

Эта безопасность была добавлена ​​по какой-то причине, поэтому, чтобы не избавиться от нее полностью, я создал массив, в котором хранятся адреса, по которым стиль тега не должен быть удален.

Вам необходимо создать файл MY_Security.php в качестве расширения для основной безопасности. Класс и добавить измененную функцию _remove_evil_attributes.

protected function _remove_evil_attributes($str, $is_image){
  // All javascript event handlers (e.g. onload, onclick, onmouseover), style, and xmlns
  $allowed = array("your allowed url's without domain like '/admin/edittext/'");
  if(in_array($_SERVER['REQUEST_URI'],$allowed)){
    $evil_attributes = array('on\w*', 'xmlns');
  }else{
    $evil_attributes = array('on\w*', 'style', 'xmlns');
  }

  if ($is_image === TRUE){
    /*
    * Adobe Photoshop puts XML metadata into JFIF images, 
    * including namespacing, so we have to allow this for images.
    */
    unset($evil_attributes[array_search('xmlns', $evil_attributes)]);
  }

  do {
    $str = preg_replace(
      "#&lt;(/?[^&gt;&lt;]+?)([^A-Za-z\-])(".implode('|', $evil_attributes).")(\s*=\s*)([\"][^&gt;]*?[\"]|[\'][^&gt;]*?[\']|[^&gt;]*?)([\s&gt;&lt;])([&gt;&lt;]*)#i",
      "&lt;$1$6",
      $str, -1, $count
    );
  } while ($count);
  return $str;
}

источник: http://blog.codebusters.pl/en/codeigniter-202-tinymce-or-ckeditor-style-attribute-lost-after-update/#comment-543

0 голосов
/ 10 июня 2010
Теги

<style> недопустимы в теле документа.

Может быть возможно как-то защитить их (по крайней мере, в его преемнике CKEDitor, см. здесь и искать protectedSource), но основной вопрос должен быть: почему они там?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...