2016-08-28 3 views
2

bleach을 사용하여 HTML 태그를 이스케이프 처리하려고합니다. 페이지의 내용으로 코드를 삽입하려고하지 않는 한 정상적으로 작동합니다. 스 니펫은 다음과 같이 삽입됩니다.표백제로 코드 태그 허용

<pre> 
<code> 
Code sample 
</code> 
</pre> 

코드 샘플에는 html 태그가 포함될 수 있습니다. 표백제가 내부에있는 경우 태그를 벗어나지 않게하려면 어떻게해야합니까? <pre><code>? 일부 태그를 허용 목록에 추가 할 수는 있지만 코드 블록 및 블랙리스트에있는 경우 모든 태그를 허용 목록에 추가 할 수있는 방법이없는 것으로 보입니다. 바깥 쪽 HTML 마크 업은 Markdown에서 생성됩니다. 것으로,

for (auto a = 0; i &lt; 10; ++i) 

표백제이 할 수없는 경우, 당신은 다른 탈옥수 조언 수 :

는 또한, 표백제들은 코드에서 발생하는 경우 모든과> 징후가 있지만, 그것은 다음과 같습니다 < 탈출 내가 필요한 걸 할 수 있니?

+0

코드 블록 안의 태그를 이스케이프해야합니다 (필요)합니다. 그것이 브라우저에서 올바르게 표시되는 유일한 방법입니다. 나는 당신의 실제 문제가 여기에 있는지 혼란스러워합니다. – Waylan

답변

0

<> 및 < 코드>의 아동 태그를 허용하고 싶습니다. 문서를 읽으면 추측 할 수있는 것부터, 허용하려는 태그를 하나씩 정의하거나 호출 가능 태그를 사용할 때마다 호출 태그가 호출 될 때마다 호출 가능 항목이 호출됩니다.

섹션라는 문서에

확인 : Callable Filters

문제에 대한 가능한 해결책은 다음 깨끗한 방법으로 발생하는 태그의 자식인지 여부를 확인합니다 깨끗한 bleach.clean에 함수를 전달하는 것입니다 코드 HTML 태그. 당신은 당신이 여기

다른 대답에 example입니다 TreeBuilderxml.eTree 패키지와 함께 그것을 위해 HTML 파서를 사용할 수 있습니다, 거기에 HTML을 구문 분석해야합니다.