[SPIP] +2.1.12
[velocampus/web/www.git] / www / plugins / auto / couteau_suisse / couteau_suisse / outils / verstexte_fonctions.php
diff --git a/www/plugins/auto/couteau_suisse/couteau_suisse/outils/verstexte_fonctions.php b/www/plugins/auto/couteau_suisse/couteau_suisse/outils/verstexte_fonctions.php
new file mode 100644 (file)
index 0000000..2f543ff
--- /dev/null
@@ -0,0 +1,91 @@
+<?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('&amp;'=>'&', '&quot;'=>'"', '&lt;'=>'<', '&gt;'=>'>', '&egrave;'=>'&#232;', '&eacute;'=>'&#233;', '&agrave;' => '&#224;') );\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*/         '@&#8217;@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('&amp;'=>'&', '&quot;'=>'"', '&lt;'=>'<', '&gt;'=>'>', '&egrave;'=>'&#232;', '&eacute;'=>'&#233;', '&agrave;' => '&#224;') );\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