• Python 实现类似PHP的strip_tags功能,并能够定义他们自己的一套保留标记


    最近的研究 Python ,发现还是很习惯使用,多PHP这是非常easy该功能Python 这不得不找了半天,而且非常灵活不得不实现自己的。

    我们今天聚集,需要过滤的内容标签,搞一个PM。外形似终于想通了,下一个测试,以达到预期的效果,话不多说贴上代码吧

    from html.parser import HTMLParser
    
    
    def strip_tags(html, save=None):
        result = []
        start = []
        data = []
    
        def starttag(tag, attrs):
            if tag not in save:
                return
            start.append(tag)
            if attrs:
                j = 0
                for attr in attrs:
                    attrs[j] = attr[0] + '="' + attr[1] + '"'
                    j += 1
                attrs = ' ' + (' '.join(attrs))
            else:
                attrs = ''
            result.append('<' + tag + attrs + '>')
    
        def endtag(tag):
            if start and tag == start[len(start) - 1]:
                result.append('</' + tag + '>')
    
        parser = HTMLParser()
        parser.handle_data = result.append
        if save:
            parser.handle_starttag = starttag
            parser.handle_endtag = endtag
        parser.feed(html)
        parser.close()
    
        for i in range(0, len(result)):
            tmp = result[i].rstrip('
    ')
            tmp = tmp.lstrip('
    ')
            if tmp:
                data.append(tmp)
    
        return ''.join(data)
    

    用法:

        result = strip_tags("""发生的杀毒<a target="_blank" title="足球比分直播" href="http://live.500.com/" >足球比分直播</a><a target="_blank" title="竞彩足球" href="http://zx.500.com/jczq/" >竞彩足球</a><a target="_blank" title="篮球竞彩" href="http://zx.500.com/jclq/" >篮球竞彩</a></div>
    				<img src="dd" alt=">">						<p>  打蛇打七寸,北单7串1。因为<a target="_blank" title="北京单场" href="http://zx.500.com/zqdc/">北京单场</a>SP值计算规则与竞彩不同。4串1及下面投注购买竞彩更划算。而7串1以上的投注非常可能交税,反而不划算。依据计算,北京单场4串1到7串1之间的投注最划算。</p>
    """, ['p', 'img'])
        print(result)

    输出结果:

    发生的杀毒足球比分直播竞彩足球篮球竞彩				<img src="dd" alt=">">						<p>  打蛇打七寸,北单7串1。因为北京单场SP值计算规则与竞彩不同,4串1及下面投注购买竞彩更划算,而7串1以上的投注非常可能交税,反而不划算。依据计算。北京单场4串1到7串1之间的投注最划算。</p>
    

    仅保留 <a> 和 <p> 标签





    版权声明:本文博客原创文章。博客,未经同意,不得转载。

    http://blog.csdn.net/zhouzme

  • 相关阅读:
    一个由"2020年1月7日 京东出现的重大 Bug 漏洞"引起的思考...
    Jmeter查看结果树之查看响应的13种方法[详解] [9]
    Jmeter 查看结果树之界面功能介绍 [8]
    soapUI 之 测试文件上传 [6]
    SoapUI 之 webService 接口测试 [5]
    SoapUI 关联之Property Transfer、JSONPath、Xpath [4]
    SoapUI 参数化之Properties、DataSource [3]
    找不到工作?!请确认你投简历的姿势对了么?
    Jmeter 从数据库查询多个字段,依次传给登录接口怎么实现?[7]
    Jmeter 之测试片段、Include Controller、模块控制器应用 [6]
  • 原文地址:https://www.cnblogs.com/blfshiye/p/4675996.html
Copyright © 2020-2023  润新知