BeatifulSoup chiude i tag html per voi

Come troncare testi html senza aver paura di lasciare tag aperti

A volte ci viene chiesto di mostrare un'anteprima del testo di una pagina.

Come fare? se il testo è un plain-text, basta prendere un tot numero di caratteri.

Ma se il testo è formattato il discorso è un pò più complicato data la presenza dei tag html che quasi sicuramente risulteranno troncati.

BeatifulSoup (parser html in python) è utile nei casi in cui vogliamo troncare del testo html.

Tale funzione chiude i tag lasciati aperti dal troncamento.
Per utilizzarlo è necessario inserire tra le egg del buildout: BeautifulSoup

Un esempio d'uso potrebbe essere il seguente:

<div tal:content="structure python:view.getPreventUnclosingTagHtml(obj_o.getText()[:200])">
       Text
</div>

 Dove la funzione 'getPreventUnclosingTagHtml' è la seguente:

   from BeautifulSoup import BeautifulSoup
   def getPreventUnclosingTagHtml(self, html=''):
     """ """
     soup = BeautifulSoup(html)
     return soup.prettify()

Share this on

Share |

On same topics

Commenti

comments powered by Disqus