2010-12-03 3 views
2

아직이 문제에 대한 실제 해결책을 찾을 수 없습니다.PHP 통합으로 fckeditor 2에서 스타일 속성을 허용합니다

FCKeditor 2에서 PHP 통합 방법을 사용할 때 편집기로 전달되는 모든 HTML 요소에는 CSS 스타일이 제거됩니다.

따라서이 :

<div>hello</div> 

내가 편집기를 저장에 제대로 스타일을 합격을 확인할 수 있지만 편집기에로드하는 경우 :

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

이로 끝날 것 , 그것은 제거되고 2 번째 세이브에서 제거됩니다.

불행히도 나를위한 솔루션이 아닌 유일한 두 가지 솔루션은 코딩 구조에서 작동하지 않는 Javascript Integration을 사용하거나 Magic Quotes를 해제하는 것입니다. 필자는 마법 인용문을 사용하지 않기를 권장하고 있지만, 필자는이 일을 통해 다른 어떤 것을 깨뜨리지 않도록 필자의 대규모 코드 기반을 살펴볼 시간이 없다.

FCKeditor 2에서 마법 인용 부호를 사용하는 PHP 통합을 사용하여 어떻게 해결할 수 있습니까? FCKConfig.RemoveAttributes에서 이미 '스타일'을 제거했습니다.

"CKeditor로 업그레이드", "자바 스크립트 통합 사용"및 "마법 인용 해제"와 같은 솔루션을 제공하지 마십시오. 이 게시물의. 어떤 도움을 주셔서 감사합니다. 그리고 같은 문제를 가진 다른 많은 사람들에게 도움이되는 솔루션을 찾는 것이 도움이 되었기를 바랍니다.

데이비드

답변

1

보다 더 직접적인 될 수를 @ 마렉의 대답 -

대신 마법을 해제 따옴표, PHP 쪽에서 get_magic_quotes_gpc()을 사용하여 마법 인용 부호가 활성화되어 있는지 감지하고 stripslashes()을 사용하면이를 취소 할 수 있습니다.

$html = $_POST['html']; // as an example 
if (get_magic_quotes_gpc()) $html = stripslashes($html); 
0
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); 
} 
+0

그것은 항상이되지도 솔루션'는 ini_set 볼 날 귀찮게 ('magic_quotes_gpc의'를, 0);'다른 라이브러리는 또한 그것을 감지하고 다시 입력 스트립 경우 마법 견적 플래그를 비활성화합니다. – gnarf