파이썬에서 문자열에 포함된 태그 제거하기

@codemaru · February 05, 2007 · 1 min read

php의 strip_tags라는 함수는 문자열에 포함된 HTML 태그를 제거해 줍니다. 이런 기능을 하는 파이썬 코드는 아래와 같이 만들수 있습니다. 자세한 내용은 http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/52281 을 참고하세요.

import sgmllib, string  
  
class Stripper(sgmllib.SGMLParser):  
    def \_\_init\_\_(self):  
        self.data = []  
        sgmllib.SGMLParser.\_\_init\_\_(self)  
    def unknown\_starttag(self, tag, attrib):  
        self.data.append(" ")  
    def unknown\_endtag(self, tag):  
        self.data.append(" ")  
    def handle\_data(self, data):  
        self.data.append(data)  
    def gettext(self):  
        text = string.join(self.data, "")  
        return string.join(string.split(text)) # normalize whitespace  
  
def StripTag(text):  
    s = Stripper()  
    s.feed(text)  
    s.close()  
    return s.gettext() 
@codemaru
돌아보니 좋은 날도 있었고, 나쁜 날도 있었다. 그런 나의 모든 소소한 일상과 배움을 기록한다. 여기에 기록된 모든 내용은 한 개인의 관점이고 의견이다. 내가 속한 조직과는 1도 상관이 없다.
(C) 2001 YoungJin Shin, 0일째 운영 중