Perl에서 HTML TAG를 Strip할수 있는 완벽한 정규 표현식이 없을까요?
글쓴이: puaxx / 작성시간: 목, 2006/01/05 - 1:26오후
상황
1.몇백만건의 HTML데이터가 있고 내용은 일정치 않습니다.
2.Perl의 확장 모듈을 사용할수가 없습니다.
3.많은 시간이 없습니다.
4.정규식이나 직접코드를 짜야 합니다.
현재 제가 생각한 정규식은 고작
<\/?[!a-zA-Z][^>]*>
이건데요...가령
<a href="sdfsf?sdfkkk=>&xxvfd">
이런식으로 들어간게 있으면 제대로 안될거 같더군요.
정규식만으로 불가능할까요?
Forums:


Re: Perl에서 HTML TAG를 Strip할수 있는 완벽한 정규 표현식이 없을까요?
원래 &는 & >는 > <는 <로 써야 하기 때문에 문제가 없어야 정상입니다.
이렇게 되어있는게 맞죠 ^^
그렇지만, 수많은 html이 그렇게 쓰여있지 않기 때문에 !!
문제가 발생합니다 -_-;;;;
대안은 없는 쓸데없는 답변이었습니다 ;;
이래서 HTML파싱은 어렵습니다 =_= 과연 어떤 오류까지 봐줘야 하는 것일까...
htmltidy 같은 걸 이용해서 원본 html 을 xhtml 로 변환한
htmltidy 같은 걸 이용해서 원본 html 을 xhtml 로 변환한 다음에
처리하는게 어떨까요???
그럼 대부분의 문제가 해결될 것으로 보입니다만...
Re: Perl에서 HTML TAG를 Strip할수 있는 완벽한 정규 표현식이 없을까요?
/<\/?[a-z0-9-:]+(?:\s+[a-z0-9-:]+(?:\s*=\s*(?(?=["'])(?:"[^"]*"|'[^']*')|\S+)?)+(?:\s*\/)?>/i정도면 되지 않을까요? 잘 돌아 갈 지는 모르겠습니다만 이런 식으로 하면 되지 않을까 싶습니다.
- 토끼군