2010-07-29 2 views

답변

3

유효한 HTML이 아니며 태그처럼 보이는 WYSIWYG 편집기가 PHP를 숨길 수 있습니다. 소스보기를 확인하고 코드가 보이지만 보이지 않는지 확인하십시오.

그 이유는 "<"을 HTML 엔터티 (& lt;)로 변경하고 있기 때문에 WYSIWYG가 아닌 일반 텍스트 편집기로 PHP 텍스트 필드를 편집해야한다는 것입니다.

+0

+1 - 웹 응용 프로그램에서 WYSIWYG 편집기를 사용하는 요점은 적절한 HTML이 WYSIWYG 사용 필드에 삽입되도록하는 것입니다. 따라서 PHP 코드가 이스케이프 처리되지 않은 코드를 통과하도록 허용하면 작업을 수행하지 못합니다. –

3

그레이엄의 대답은 무슨 일이 일어 났는지 설명하지만, 여기에 문제를 해결할 수있는 방법이 있습니다.

하지만 먼저 주의 사항 : 데이터베이스에 저장되는 Drupal 웹 인터페이스에서 PHP를 작성하는 것을 피해야합니다. 그것은 매우 안전하지 않습니다 (사이트 권한에 대해 신중해야합니다). 그리고 버전 관리의 이점이 없습니다. 자신 만의 작은 사용자 정의 모듈/테마를 작성하여 PHP 작업을 완료하십시오.

WYSIWYG module을 사용하여 WYSIWYG를 설치 한 경우 각 입력 형식에 대해 WYSIWYG의 개별 구성을 할당 할 수 있습니다. "PHP 코드"입력 형식에 WYSIWYG가 할당되어 있지 않은지 확인하십시오. 그러면 기본적으로 사용 가능 대 약 사용 불능에 대해 걱정할 필요가 없습니다. 즉, 텍스트 필드에서 PHP로 코딩을 시작할 때 을 사용하면 PHP 코드와 WYSIWYG를 시작할 입력 형식을 서로 전환 할 수 없습니다. 이것은 Graham이 말했듯이 PHP 문자를 HTML 엔티티로 이스케이프하고 코드를 파기합니다. 클라이언트가 사이트의 UI 코드 내에 PHP를 작성하지 않는 또 다른 이유 인 블록에서이 코드를 사용하도록했습니다.

Better Formats module을 사용하는 경우 사이트에서 정의한 각 사용자 역할에 기본 입력 형식을 지정할 수 있습니다. 이것이 내가이 상황을 완전히 피하기 위해서하는 일입니다. Drupal에서 PHP 코딩을하고 싶을 때, WYSIWYG를 사용할 수없는 입력 형식을 기본으로하는 역할을 사용합니다. 그래서 우연히 PHP로 노드/블록을 열지 않고 자동 파괴했습니다. WYSIWYG 편집기.

관련 문제