A quoi ça sert ?
Crypte un nom de personne présent dans le texte, sans en empêcher l’affichage à l’écran.
Par exemple l’internaute lira :Hier, Durand a dit: "nous sommes gouvernés par des crapules".
Mais les robots des moteurs de recherche verront :Hier,
Drand a dit: "nous sommes gouvernés par des crapules".
Quelqu’un faisant une recherche sur « Durand » sur le web pour savoir ce qu’il y raconte en sera pour ses frais !
Comment ça marche ?
Dans l’article, il suffit de mettre entre des balises <masque>
et </masque>
ce qui doit rester invisible aux robots.
Pour l’exemple précédent, dans l’article on a écrit :Hier, <masque>Durand</masque> a dit: "nous sommes gouvernés par des crapules".
Mise en garde
Ce filtre ne fait pas bon ménage avec les raccourcis de Spip et le code html, ne mettre que du texte entre <masque>
et </masque>
.
Comment utiliser ce filtre ?
1. Copiez-collez l’extrait de code ci-dessous dans votre fichier mes_fonctions.php3
. (A mettre entre une balise <?php
et une balise ?>
si le fichier ne contient pas déjà ces balises.)
2. Dans votre squelette, utilisez le filtre de la manière suivante : [(#TEXTE|cryptenoms_txt)]
/*
* +----------------------------------+
* Nom du Filtre : cryptenoms_txt
* +----------------------------------+
* Date : 25 avril 2005
* Auteurs : Paolo et BMR
* +-------------------------------------+
* Fonctions de ce filtre :
* Rendre invisible un nom de personne
* aux moteurs de recherche.
* +-------------------------------------+
*
* Pour toute suggestion, remarque, proposition d'ajout
* reportez-vous au forum de l'article sur :
* http://www.spip-contrib.net/ecrire/articles.php3?id_article=934
*/
// Le filtre cryptemail est utilisé par cryptenoms_txt
// Pour en savoir plus sur cryptemail, voir :
// http://www.spip-contrib.net/Crypter-du-texte-un-email-une-URL
function cryptemail($textemail)
{
$s="";
for ($i=0;$i<strlen($textemail);$i++) {
$s.="&#".ord($textemail{$i}).";";
}
return $s;
}
// cryptenoms_txt crypte tout ce qui est entre <masque> et </masque>
function cryptenoms_txt($texte) {
preg_match_all("/<masque>(.*?)<\/masque>/",$texte,$found);
$total = count($found[0]);
for($i=0; $i < $total; $i++) {
$texte =
str_replace($found[0][$i],cryptemail($found[1][$i]),$texte);
}
return $texte;
}
// FIN du Filtre cryptenoms_txt
Remarque
Ce filtre fait appel au filtre cryptemail
qui du coup devient lui aussi utilisable.
Voir : Crypter du texte, un email, une URL
Discussions par date d’activité
Une discussion
Salut,
Chouette contrib. Ce genre de petits trucs pour protéger la vie privée n’est pas du tout inutile en ces temps de surveillance généralisée.
Une suggestion pour une éventuelle nouvelle version : pourquoi ne pas utiliser les points d’entrée de
inc_texte.php3
pour faire ça ? Ca te permettrait d’éviter de devoir passer ton filtre sur tous les champs de ton site, ce qui est assez fastidieux et lourd comme manière de procéder. Au contraire, en plaçant ton filtre dans une fonctionapres_propre()
dans le fichierecrire/mes_options.php3
, tu peux faire en sorte que le truc soit chargé systématiquement dans tous les champs texte de SPIP.Je me pose aussi la question :)
François
Répondre à ce message
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |