--- /dev/null
+<?php\r
+\r
+// filtre qui extrait le contenu texte d'une page html pour rendre du texte plein\r
+function version_plein_texte($texte){\r
+\r
+ $texte = charset2unicode($texte);\r
+ $texte = strtr($texte, array('&'=>'&', '"'=>'"', '<'=>'<', '>'=>'>', 'è'=>'è', 'é'=>'é', 'à' => 'à') );\r
+ \r
+ $cherche = array (\r
+/*a1*/ ',</?h1[^>]*>,',\r
+/*a2*/ ',</?h2[^>]*>,',\r
+/*a3*/ ',<h3[^>]*>,',\r
+/*a3*/ ',</h3[^>]*>,',\r
+/*01*/ '@<script[^>]*?>.*?</script>@si', // Supprime le javascript\r
+/*02*/ '@<style[^>]*?>.*?</style>@si', // Supprime les styles inline\r
+/*03*/ ",<link[^>]*>,Uims", // les css\r
+/*04*/ ",<img[^>]*alt=['\"]([^'\"]*)['\"][^>]*>,Uims", // les images\r
+/*05*/ ',(<(div|br|p)),i',\r
+/*06*/ '@<[\/\!]*?[^<>]*?'.'>@si', // Supprime les balises HTML\r
+/*07*/ '@([\r\n])[\s]+@', // Supprime les espaces\r
+/*08*/ ',[\r\n][_]{2},sm',\r
+/*09*/ '@&(quot|#34);@i', // Remplace les entites HTML\r
+/*10*/ '@&(amp|#38);@i',\r
+/*11*/ '@&(lt|#60);@i',\r
+/*12*/ '@&(gt|#62);@i',\r
+/*13*/ '@&(nbsp|#160);@i',\r
+/*14*/ '@&(iexcl|#161);@i',\r
+/*15*/ '@&(cent|#162);@i',\r
+/*16*/ '@&(pound|#163);@i',\r
+/*17*/ '@&(copy|#169);@i',\r
+/*18*/ '@’@i',\r
+/*19*/ '@&#(\d+);@e'\r
+ );\r
+\r
+ $remplace = array (\r
+/*a1*/ "\n__--------------------------------------------------------\n",\r
+/*a2*/ "\n__...........\n",\r
+/*a3*/ "\n__\n__+++",\r
+/*a3*/ "+++",\r
+/*01*/ '',\r
+/*02*/ '',\r
+/*03*/ '',\r
+/*04*/ '[\1]',\r
+/*05*/ "\n__\\1",\r
+/*06*/ '',\r
+/*07*/ '\1',\r
+/*08*/ "\n",\r
+/*09*/ '"',\r
+/*10*/ '&',\r
+/*11*/ '<',\r
+/*12*/ '>',\r
+/*13*/ ' ',\r
+/*14*/ chr(161),\r
+/*15*/ chr(162),\r
+/*16*/ chr(163),\r
+/*17*/ chr(169),\r
+/*18*/ "'",\r
+/*19*/ 'chr(\1)' // Evaluation comme PHP\r
+ );\r
+ \r
+ $texte = preg_replace($cherche, $remplace, $texte);\r
+ return $texte; \r
+}\r
+\r
+// filtre qui extrait le contenu texte d'une page html, a l'exclusion de quelques balises elementaires\r
+function version_texte($texte){\r
+ $texte = charset2unicode($texte);\r
+\r
+ // accentuer le texte avant de suprimer les tags\r
+ $texte = strtr($texte, array('&'=>'&', '"'=>'"', '<'=>'<', '>'=>'>', 'è'=>'è', 'é'=>'é', 'à' => 'à') );\r
+ \r
+ $cherche = array (\r
+/*01*/ '@<script[^>]*?>.*?</script>@si', // Supprime le javascript\r
+/*02*/ '@<style[^>]*?>.*?</style>@si', // Supprime les styles inline\r
+/*03*/ ",<link[^>]*>,Uims", // les css\r
+/*04*/ ",<img[^>]*alt=['\"]([^'\"]*)['\"][^>]*>,Uims", // les images\r
+ );\r
+ \r
+ $remplace = array (\r
+/*01*/ '',\r
+/*02*/ '',\r
+/*03*/ '',\r
+/*04*/ '[\1]',\r
+ );\r
+\r
+ // voir : TODO.txt\r
+ \r
+ $texte = preg_replace($cherche, $remplace, $texte);\r
+ return $texte;\r
+}\r
+?>
\ No newline at end of file