Astuces de Webmaster

Recherche

Derniers articles

Catégories

Archives par mois


A voir également




Transformer du HTML en TEXTE (html2text)

function html2text($html)
{
    $tags = array (   '#<h[456][^>]*>#si',    '#<li[^>]+>#si',    '#<br([^>]+)+>#si'    );
    $tags_double_ligne = array(    '#<p>#si',    '#<table([^>]*)>#si',    '#<div([^>]*)>#si'    );
    $html = preg_replace('#<a href="(.*)">(.*)</a>#Usi','$2 ($1)',$html);
    $html = preg_replace($tags,"\n",$html);
    $html = preg_replace($tags_double_ligne,"\n",$html);
    $html = preg_replace('#<h[1-3]>([^>]*)</h[1-3]>#si',"--SAUT LIGNE--== $1 ==\r\n",$html);
    $html = preg_replace('#<tr[^>]*>#si',"--TRAIT--",$html);
    $html = preg_replace('#</t(d|h)>\s*<t(d|h)[^>]+>#si',' - ',$html);
    $html = preg_replace('#<img(.*) alt="(.*)"(.*)/>#si','$2',$html);
    $html = preg_replace('#<[^>]+>#si','',$html);
    $html = preg_replace('# +#s',' ',$html);
    $html = preg_replace('#^\s+#m','',$html);
    $html = preg_replace('#\s+$#m','',$html);
    $html = preg_replace('#\n+#s',"\n",$html);
    $html=str_replace("--SAUT LIGNE--","\r\n\r\n",$html);
    $html=str_replace("--TRAIT--","\r\n-------------------------------\r\n",$html);
    return $html;
}

Appel :
$html=html2text($html);
that easy ! :)

Proposé par Rom's janvier 2008


Laisser un commentaire