python 过滤html方法

来源:互联网 发布:安卓去软件广告 编辑:程序博客网 时间:2024/06/06 07:49
后台函数处理:from HTMLParser import HTMLParserclass MLStripper(HTMLParser):    """    过滤html方法    """    def __init__(self):        self.reset()        self.fed = []    def handle_data(self, d):        self.fed.append(d)    def get_data(self):        return ''.join(self.fed)def strip_tags(html):    """    过滤html方法实现    """    if html is None:        return ""    s = MLStripper()    s.feed(html)    return s.get_data()


前端模板处理:


在做django项目是,在模版中经常会用到对从view 中返回的 内容做处理的情况

1. 需要去掉html 标签

2. 需要部分去掉html 标签

3. 需要原原本本显示HTML内容。

4. 需要对一些过长的内容进行截取,只显示一部分。

下面我用一个例子来总结下常用的情况,在views.py 中有如下方法:


 程序代码

def testrevomvetag(request):    context={}    context['info']="""<div>这是一号门博客<a href="http://www.yihaomen.com">一号门</a><br/><p>个人技术博客</p></div>'                    '<img src="/static/images/0411331945561.jpg" />"""    return render_to_response('removetag.html',context,context_instance=RequestContext(request))



准备一个模板:
程序代码 程序代码

测试striptags: {{info|striptags}}

测试removetags:{{info|removetags:"a br p"}}


测试safe:{{info|safe}}


测试slice切片: {{info|striptags|slice:"10"}}


测试 escape:{{info|escape}}


原创粉丝点击