그것은 가능한 구문 분석하여 암호화된 데이타는 고유 파일 시스템 <textarea> 와 <a> 에서 그것은?

StackOverflow https://stackoverflow.com//questions/12670344

  •  12-12-2019
  •  | 
  •  

문제

내가 사용하는 암호화된 데이타는 고유 파일 시스템을 분석하 어떤 html.그것은 토지 이스케이프 내부 html <textarea>.암호화된 데이타는 고유 파일 시스템을 제공합 잘못된 결과를(그것을 마련 태그와 콘텐츠를 이 경우에는 그것의 <a>).최소한의 테스트 사례(예 GHCi)가

let doc = parseHtml "<textarea>before<a>link</a>after</textarea>"
runX . xshow $ doc //> hasName "textarea"

제공하는 [<textarea>before</textarea><textarea/>] 로 결과입니다.

그것처럼 보이는 태그는 컨텐츠 없(예: <tag/>)하지 않는 휴식 구축하고 있음을 보여준다

하는 방법은 없을 분석 같은 html 을 암호화된 데이타는 고유 파일 시스템?

도움이 되었습니까?

해결책

문제는 HandsomeSoup (나는 가정은 어디에 당신 parseHTML 에서입니다)까다로운 것에 관하여 사실 textarea 포함할 수 없습 a 에서 유효한 HTML,고 시도하"수정"이러한 오류는 그것을 본다.

으로 전환할 수 있습니 암호화된 데이타는 고유 파일 시스템 tagsoup?그것은 여전히 받아들이 지저분한 HTML(닫히지 않은 요소,etc.), 그러나 그렇게 까다로운 대한 준수를 HTML 키마에 특별히 그것은 당신이 atextarea:

import Text.XML.HXT.Core
import Text.XML.HXT.TagSoup

let content = "<textarea>before<a>link</a>after</textarea>"
let doc = readString [ withTagSoup ] content
runX . xshow $ doc //> hasName "textarea"

이 인쇄 다음과 같다:

["<textarea>before<a>link</a>after</textarea>"]

라고 생각하는 당신이 원하는 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top