어제 Haoduanduan 웹사이트에 업로드된 이미지가 갑자기 표시되지 않아 백엔드에서 ckeditor를 사용하지 못했습니다. 그러다가 깊은 생각에 빠졌는데, 처음에는 편집자 문제인 줄 알고 편집자를 바꿔보았지만 여전히 문제는 마찬가지였습니다. 그렇다면 문제는 무엇입니까?
편집기의 입력 내용에 대한 소스 코드 분석에서 해당 내용에는 따옴표와 HTML 태그가 포함되어 있습니다. 그러나 제출 시 ckeditor는 "<"와 같은 사전 정의된 문자를 HTML 엔터티로 변환합니다. 데이터베이스에 저장되는 내용은 변환 후 구체화된 것입니다.
데이터베이스 결과 쿼리를 통해 내용의 따옴표가 바뀌어 공백이 된 것을 알게 되었습니다. 하지만 나온 데이터는 여전히 편집기에서 해석할 수 있지만 스타일이 엉망이고, 일부 태그가 추가되었습니다. 이것이 프런트 엔드 스타일을 엉망으로 만들고 업로드된 이미지를 표시할 수 없고 중앙에 배치할 수 없게 만드는 원인입니다.
이유를 파악한 후 다음 단계는 해결책을 찾는 것입니다.
이때 php 설정 파일에 있는 Magic_quotes_gpc 매개변수가 생각났습니다. 물론 이 매개변수는 Off 상태입니다. 활성화되면 GET, POST 및 COOKIE를 통해 전달된 데이터가 자동으로 이스케이프됩니다.
magic_quotes_gpc=Off;인 경우 문자에는 작은따옴표나 큰따옴표에 관계없이 따옴표가 포함되어야 하며 mysql에 직접 쓰면 공백이 됩니다.
분명히 이런 문제가 발생했기 때문에 이 매개변수 Magic_quotes_gpc=On이 켜져 있습니다. 데이터베이스에 삽입된 데이터는 정상적으로 표시되며, 따옴표는 (백슬래시)로 대체됩니다.
데이터를 가져올 때 $contents = preg_replace("/\\/",'"',$contents);를 사용하여 교체하면 에디터에 정상적으로 표시됩니다.
이 문제는 나중에 데이터베이스에서 이스케이프 매개변수 사용에 대한 특별 요약을 작성하겠습니다.
원문: http://www.francissoung.com/biancheng/178.html
위 내용은 Ckeditor 편집기에 업로드된 이미지가 중앙에 위치하지 못하고 스타일이 흐트러지는 문제에 대한 해결 방법을 관련 내용을 포함하여 소개하고 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.