разрешить атрибут стиля в fckeditor 2 с интеграцией php - PullRequest
2 голосов
/ 03 декабря 2010

Мне еще предстоит найти реальное решение этой проблемы.

В FCKeditor 2, при использовании метода интеграции PHP, любой html-элемент, который передается в редактор, будет иметь обрезанный стиль CSS.

Поэтому это:

<div style="color:#000;background:blue">hello</div>

будет выглядеть так:

<div>hello</div>

Я могу подтвердить, что редактор сохранит стиль правильно после его сохранения, но если вызагрузите его в редактор, он удаляется и, таким образом, при втором сохранении удаляется.

Единственные 2 решения, которые, к сожалению, не являются для меня решениями, - это либо использовать интеграцию Javascript, которая неработать с моей структурой кодирования или отключить магические кавычки.Хотя я хотел бы отключить магические кавычки, так как на них не рекомендуется полагаться, в настоящее время у меня нет времени, чтобы просмотреть мою довольно большую кодовую базу, чтобы убедиться, что выполнение этого не сломает что-то еще.

Итак, я спрашиваю, как это можно решить с помощью FCKeditor 2, используя интеграцию PHP с включенными магическими кавычками?Я уже удалил «стиль» из FCKConfig.RemoveAttributes в fckeditor.js

Пожалуйста, не предлагайте такие решения, как «обновление до CKeditor», «использование интеграции с javascript» и «отключение магических кавычек», поскольку это может привести к поражению.цель этого поста.Спасибо за любую помощь, и надеюсь, что поиск решения поможет многим другим с той же проблемой.

Дэвид

Ответы [ 3 ]

1 голос
/ 09 декабря 2010

Чтобы быть более прямым, чем ответ @ Marek -

Вместо отключения магических кавычек на стороне PHP вы можете определить, включены ли магические кавычки с помощью get_magic_quotes_gpc(), и использоватьstripslashes() чтобы отменить их, если они есть.

$html = $_POST['html']; // as an example
if (get_magic_quotes_gpc()) $html = stripslashes($html);
1 голос
/ 09 декабря 2010

Вы можете отменить магические кавычки во время выполнения, см. Пример №2:

http://www.php.net/manual/en/security.magicquotes.disabling.php

0 голосов
/ 11 декабря 2010
function stripslashes_deep($value) {
    if (is_array($value)) {
        $value = array_map('stripslashes_deep', $value);
    } else {  
         $value = stripslashes($value);
    }
    return $value;
}

if (get_magic_quotes_gpc()) {
    $_POST  = stripslashes_deep($_POST);
    $_GET   = stripslashes_deep($_GET);
    $_COOKIE    = stripslashes_deep($_COOKIE);
    $_REQUEST   = stripslashes_deep($_REQUEST);
}
...