- // On remplace tous les sauts de lignes par un espace\r
- $html = str_replace("\n", ' ', $html);\r
- \r
- // Supprimer tous les liens internes\r
- $texte = preg_replace("/\<a href=['\"]#(.*?)['\"][^>]*>(.*?)<\/a>/ims", "\\2", $html);\r
- \r
- // Supprime feuille style\r
- $texte = preg_replace(";<style[^>]*>[^<]*</style>;i", "", $texte);\r
- \r
- // Remplace tous les liens \r
- $texte = preg_replace("/\<a[^>]*href=['\"](.*?)['\"][^>]*>(.*?)<\/a>/ims", "\\2 (\\1)", $texte);\r
- \r
- // Les titres\r
- $texte = preg_replace(";<h1[^>]*>;i", "\n= ", $texte);\r
- $texte = str_replace("</h1>", " =\n\n", $texte);\r
- $texte = preg_replace(";<h2[^>]*>;i", "\n== ", $texte);\r
- $texte = str_replace("</h2>", " ==\n\n", $texte);\r
- $texte = preg_replace(";<h3[^>]*>;i", "\n=== ", $texte);\r
- $texte = str_replace("</h3>", " ===\n\n", $texte);\r
- \r
- // Une fin de liste\r
- $texte = preg_replace(";</(u|o)l>;i", "\n\n", $texte);\r
- \r
- // Une saut de ligne *après* le paragraphe\r
- $texte = preg_replace(";<p[^>]*>;i", "\n", $texte);\r
- $texte = preg_replace(";</p>;i", "\n\n", $texte);\r
- // Les sauts de ligne interne\r
- $texte = preg_replace(";<br[^>]*>;i", "\n", $texte);\r
- \r
- //$texte = str_replace('<br /><img class=\'spip_puce\' src=\'puce.gif\' alt=\'-\' border=\'0\'>', "\n".'-', $texte);\r
- $texte = preg_replace (';<li[^>]*>;i', "\n".'- ', $texte);\r
- \r
- \r
- // accentuation du gras\r
- // <b>texte</b> -> **texte**\r
- $texte = preg_replace (';<b[^>]*>;i','**' ,$texte);\r
- $texte = str_replace ('</b>','**' ,$texte);\r
- \r
- // accentuation du gras\r
- // <strong>texte</strong> -> **texte**\r
- $texte = preg_replace (';<strong[^>]*>;i','**' ,$texte);\r
- $texte = str_replace ('</strong>','**' ,$texte);\r
- \r
- \r
- // accentuation de l'italique\r
- // <em>texte</em> -> *texte*\r
- $texte = preg_replace (';<em[^>]*>;i','/' ,$texte);\r
- $texte = str_replace ('</em>','*' ,$texte);\r
- \r
- // accentuation de l'italique\r
- // <i>texte</i> -> *texte*\r
- $texte = preg_replace (';<i[^>]*>;i','/' ,$texte);\r
- $texte = str_replace ('</i>','*' ,$texte);\r
- \r
- $texte = str_replace('œ', 'oe', $texte);\r
- $texte = str_replace(" ", " ", $texte);\r
- $texte = filtrer_entites($texte);\r
- \r
- // On supprime toutes les balises restantes\r
- $texte = supprimer_tags($texte);\r
- \r
- $texte = str_replace("\x0B", "", $texte); \r
- $texte = str_replace("\t", "", $texte) ;\r
- $texte = preg_replace(";[ ]{3,};", "", $texte);\r
- \r
- // espace en debut de ligne\r
- $texte = preg_replace("/(\r\n|\n|\r)[ ]+/", "\n", $texte);\r
- \r
- //marche po\r
- // Bring down number of empty lines to 4 max\r
- $texte = preg_replace("/(\r\n|\n|\r){3,}/m", "\n\n", $texte);\r
- \r
- //saut de lignes en debut de texte\r
- $texte = preg_replace("/^(\r\n|\n|\r)*/", "\n\n", $texte);\r
- //saut de lignes en debut ou fin de texte\r
- $texte = preg_replace("/(\r\n|\n|\r)*$/", "\n\n", $texte);\r
- \r
- // Faire des lignes de 75 caracteres maximum\r
- //$texte = wordwrap($texte);\r
- \r
- return $texte;\r