X-Git-Url: https://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fplugins%2Fauto%2Fcouteau_suisse%2Fcouteau_suisse%2Foutils%2Fverstexte_fonctions.php;fp=www%2Fplugins%2Fauto%2Fcouteau_suisse%2Fcouteau_suisse%2Foutils%2Fverstexte_fonctions.php;h=2f543ffb1168c083d815d2a6f96b7ae80cf2f9d1;hb=80b4d3e85f78d402ed2e73f8f5d1bf4c19962eed;hp=0000000000000000000000000000000000000000;hpb=aaf970bf4cdaf76689ecc10609048e18d073820c;p=velocampus%2Fweb%2Fwww.git 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 index 0000000..2f543ff --- /dev/null +++ b/www/plugins/auto/couteau_suisse/couteau_suisse/outils/verstexte_fonctions.php @@ -0,0 +1,91 @@ +'&', '"'=>'"', '<'=>'<', '>'=>'>', 'è'=>'è', 'é'=>'é', 'à' => 'à') ); + + $cherche = array ( +/*a1*/ ',]*>,', +/*a2*/ ',]*>,', +/*a3*/ ',]*>,', +/*a3*/ ',]*>,', +/*01*/ '@]*?>.*?@si', // Supprime le javascript +/*02*/ '@]*?>.*?@si', // Supprime les styles inline +/*03*/ ",]*>,Uims", // les css +/*04*/ ",]*alt=['\"]([^'\"]*)['\"][^>]*>,Uims", // les images +/*05*/ ',(<(div|br|p)),i', +/*06*/ '@<[\/\!]*?[^<>]*?'.'>@si', // Supprime les balises HTML +/*07*/ '@([\r\n])[\s]+@', // Supprime les espaces +/*08*/ ',[\r\n][_]{2},sm', +/*09*/ '@&(quot|#34);@i', // Remplace les entites HTML +/*10*/ '@&(amp|#38);@i', +/*11*/ '@&(lt|#60);@i', +/*12*/ '@&(gt|#62);@i', +/*13*/ '@&(nbsp|#160);@i', +/*14*/ '@&(iexcl|#161);@i', +/*15*/ '@&(cent|#162);@i', +/*16*/ '@&(pound|#163);@i', +/*17*/ '@&(copy|#169);@i', +/*18*/ '@’@i', +/*19*/ '@&#(\d+);@e' + ); + + $remplace = array ( +/*a1*/ "\n__--------------------------------------------------------\n", +/*a2*/ "\n__...........\n", +/*a3*/ "\n__\n__+++", +/*a3*/ "+++", +/*01*/ '', +/*02*/ '', +/*03*/ '', +/*04*/ '[\1]', +/*05*/ "\n__\\1", +/*06*/ '', +/*07*/ '\1', +/*08*/ "\n", +/*09*/ '"', +/*10*/ '&', +/*11*/ '<', +/*12*/ '>', +/*13*/ ' ', +/*14*/ chr(161), +/*15*/ chr(162), +/*16*/ chr(163), +/*17*/ chr(169), +/*18*/ "'", +/*19*/ 'chr(\1)' // Evaluation comme PHP + ); + + $texte = preg_replace($cherche, $remplace, $texte); + return $texte; +} + +// filtre qui extrait le contenu texte d'une page html, a l'exclusion de quelques balises elementaires +function version_texte($texte){ + $texte = charset2unicode($texte); + + // accentuer le texte avant de suprimer les tags + $texte = strtr($texte, array('&'=>'&', '"'=>'"', '<'=>'<', '>'=>'>', 'è'=>'è', 'é'=>'é', 'à' => 'à') ); + + $cherche = array ( +/*01*/ '@]*?>.*?@si', // Supprime le javascript +/*02*/ '@]*?>.*?@si', // Supprime les styles inline +/*03*/ ",]*>,Uims", // les css +/*04*/ ",]*alt=['\"]([^'\"]*)['\"][^>]*>,Uims", // les images + ); + + $remplace = array ( +/*01*/ '', +/*02*/ '', +/*03*/ '', +/*04*/ '[\1]', + ); + + // voir : TODO.txt + + $texte = preg_replace($cherche, $remplace, $texte); + return $texte; +} +?> \ No newline at end of file