• # Redéfinition de la fonction

    Posté par  . Évalué à 3.

    Je ne connait pas de telle fonction mais on peut la définir aisement en faisant appel à HTMLParser.
    from HTMLParser import HTMLParser
    def strip_tags(html):
         result = []
         parser = HTMLParser()
         parser.handle_data = result.append
         parser.feed(html)
         parser.close()
         return ''.join(result)
    
    • [^] # Re: Redéfinition de la fonction

      Posté par  (site web personnel) . Évalué à 1.

      Ca me semble parfait. Un grand merci !

      Ma crainte par rapport à HTMLParser : est-ce robuste vis-à-vis du code HTML mal formé ?
      • [^] # Re: Redéfinition de la fonction

        Posté par  . Évalué à 2.

        J'utilise cette fonction avec des champs remplis par les utilisateurs et je n'ai pas de soucis. Donc pas de problèmes de ce coté là.
    • [^] # Re: Redéfinition de la fonction

      Posté par  (site web personnel) . Évalué à 1.

      J'ai testé. Ca marche fort bien, sauf avec certaines pages.
      En particulier, certaines pages de Blogger (Google) ne passent pas. Il me sort les styles comme contenu et me zappe tout le contenu réel.
      • [^] # Re: Redéfinition de la fonction

        Posté par  . Évalué à 1.

        as-tu pense a regexp ?

        Voici un example:

        >>> import re
        >>> reg=re.compile('<.*?>')
        >>> reg.sub('','toto <b>fdsd</b>')
        'toto fdsd'
        >>>


        Donc je recherche toute chaine de caracteres commencant par "<" et se terminant par ">". Ensuite je remplace cette chaine de caractere par '' (cad rien).

        Ce systeme est assez souple, a voir s'il supporte les pages mal formatees.

        A+

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.