2012-08-08 3 views
0

데이터베이스에 서식이 지정된 html 태그가 있습니다 (<&lt;이됩니다).글자 그대로 데이터베이스에서 html 출력

내가 갖고있는 문제는 HTML 태그가 그대로 출력된다는 것입니다. <b>Text</b> 대신 텍스트를 굵은 글씨로 표시하면 &lt;b&gt;

으로 표시됩니다. 이유가 무엇인지 아는 사람이 있습니까? 아니면 고칠 방법? 정말 간단한 문제 일 수 있으며이를 간과하고 있습니다.

웹 사이트의 출력 : DB에 the website

HTML 코드 : partial image of the data in the DB.

+0

일반적으로 인코딩되지 않은 html을 저장하고 htmlentities를 사용하여 인코딩합니다. –

+0

그건 문제입니다. 그것이 단순한 것이었다는 것을 알았습니다. 나는 codeigniter 프레임 워크를 사용하여 위와 같은 (XSS 공격과 SQLi)을 방지했다. 감사합니다 – RobAtStackOverflow

답변

1

난 당신이 등등 &lt; 및 모든 <을 대체하기위한 생각 HTML을 데이터베이스에 저장합니다. 하지만 데이터베이스에서 <script ... 태그는 &amp;lt;script ...처럼 보입니다. &lt;script ...과 같은 것으로 교체하십시오. 올바른 MIME 형식이 설정되어 있는지도 확인하십시오. HTML 페이지의 경우, 사용

어쩌면 디코딩보다는
header('Content-type: text/html'); 
0

, 당신이 그것을 인코딩 두 번하지 있는지 확인하십시오. 데이터베이스에 인코딩 된 데이터를 인쇄 한 다음 다시 인쇄 할 때는 < 등으로 렌더링해야합니다.

+0

내가 사용하고있는 codeigniter 프레임 워크가 '자동으로'하지 않았다면 나는 그렇지 않다고 생각한다. 정보를 가져 주셔서 감사합니다. – RobAtStackOverflow