2009-02-06 2 views
2

텍스트 영역의 입력 내용이 원시 텍스트가 아닌 HTML이되는 단계는 무엇입니까? 그래서 PHP는 예를 들어 , 나는 그런 다음 대량 살상 무기 (WMD) Showdown.js가 제대로 내가 입력이 텍스트 영역 아래를 렌더링 4 개 공간 대량 살상 무기 대량 살상 무기 시스템 - 입력 내용은 어디에서 HTML이됩니까?

like this 

을 들여 말한다. 그러나 텍스트 영역은 여전히 ​​그대로

like this 

을 포함 서버 측에서 showdown.js가 SoF 데이터베이스에 영구히 HTML과 동일한 모든 작업을 담당합니까?

답변

1

우선, StackOverflow는 ASP.NET을 기반으로 작성되었지만 기본적으로 서식있는 텍스트 상자의 문자는 앞뒤로 변환됩니다.

8

여기에 다른 게시물이 있지만 기본적으로이 기능이 작동합니다. 또는 적어도 이것은 웹 사이트에서 WMD를 사용하여 수행하는 방법입니다. 내 WMD 구현을 확인하는 데 관심이 있다면 내 프로필을 참조하십시오. (아니오 AJAX 또는 같은 것을 순수 클라이언트 측 자바 스크립트) 사용자에게 미리보기를 제공하기

  1. 사용자는 클라이언트에서 마크 다운, 브라우저에서 실시간으로 showdown.js 실행에 들어갑니다.
  2. 그런 다음 사용자가 서버에 게시하면 WMD가 Markdown을 보냅니다.이 작업을 수행하려면 WMD를 구성해야하며, 기본적으로 WMD는 HTML을 보냅니다.
  3. Markdown을 HTML로 변환하려면 서버 쪽 showdown.js을 실행하십시오. 이론적으로는 다른 방법을 사용할 수도 있지만 서버 측에서 수행하려는 HTML 태그 필터링 이외에 사용자가 클라이언트에서 보는 것과 동일한 변환을 서버에서 얻으려고하는 것이 좋습니다.
  4. 위에서 언급 한 것처럼 XSS (사이트 간 스크립팅) 문제를 방지하려면 적절한 HTML 태그 필터링을 수행해야합니다. 이것은 중요하고 중요하지 않으므로주의하십시오.
  5. Markdown과 HTML을 모두 데이터베이스에 저장하십시오. — Markdown : 사용자가 게시물을 편집하고 Markdown과 HTML을주고 싶을 때마다 Markdown을 HTML로 변환 할 필요가 없기 때문에 대답을 표시하십시오.

다음은 관련 게시물입니다.

+0

"showdown.js 서버 측을 실행하여 Markdown을 HTML로 변환"이라고 할 때 ... 내가 어떻게 할까? – Andrew

+0

자바에서는 Rhino를 사용하여 서버에서 showdown.js를 실행합니다. 자바 6은 스크립팅 엔진을 기본적으로 지원하며 Rhino (JavaScript 엔진)를 구현으로 선택할 수 있습니다. –

관련 문제