Censure des messages en javascript

Voir le sujet précédent Voir le sujet suivant Aller en bas

  • 0

Astuce Censure des messages en javascript

Message par Ea le Lun 8 Aoû 2011 - 0:56

Censure des posts en javascript


Objet de l'astuce :

Cette astuce permet de faire des remplacements dans les messages à l'affichage du sujet de façon un peu plus poussée que la censure normale ( voir Panneau d'administration > Général > Censure des Mots, elle vous suffira dans la plupart des cas ).

Par exemple avec l'exemple de script de départ, poster ceci :

Code:
wiki://yeah

http://dE/Jacky

[wiki]test[/wiki]

aaa avion


slt slt slt

a a  a a http://google.com

Donne ce résultat à l'affichage du post :


Mise en place :

Il suffit mettre le script ici sur les sujets ( voir gestion des codes javascript ).

Modification du code :

Pour choisir ce que vous censurez et par quoi vous le remplacer il suffit de modifier la partie du code :

Code:
[
    ["text", /a/g, "b"],
    ["text", /slt/g, "salut"],
    ["href", /google.com/g, "google.fr"],
    ["href", /^wiki:\/\//, "http://fr.wikipedia.org/w/index.php?search="],
    ["href", /^http:\/\/dE\//, "http://desencyclopedie.wikia.com/wiki/"],
    ["html", /\[wiki\](.*?)\[\/wiki\]/g, '<a href=http://fr.wikipedia.org/w/index.php?search=$1 title=$1>$1</a>']
];
Il faut toujours la syntaxe :

Code:
[
  ["type de remplacement",/expression à chercher/,"par quoi on la remplace"],
  ["type de remplacement",/expression à chercher/,"par quoi on la remplace"],
  ["type de remplacement",/expression à chercher/,"par quoi on la remplace"],
  ["type de remplacement",/expression à chercher/,"par quoi on la remplace"]
];
Un [ à gauche et un ] à droite comme ceci, signifie qu'on déclare un tableau, ici on a donc un tableau de tableaux de 3 éléments.

  • Le premier élément est le type de remplacement, vous pouvez y mettre :

    • Soit "text" : toutes les parties textes de vos messages seront examinées pour voir si l'expression qu'on recherche ne s'y trouve pas ( et si elle s'y trouve la remplacer ), on cherche des chaines de textes et on les remplace par du texte.

    • Soit "html" : tout le code html des messages sera examiné pour trouver l'expression qu'on recherche, et si elle s'y trouve elle sera remplacée par le remplacement spécifié, on cherche dans le code html du message entier et on fait le remplacement par du html.

    • Soit autre chose ( par exemple "src" ou "href" ) : le script regarde les balises dans les messages qui ont l'attribut spécifié ( href par exemple c'est l'attribut qui indique vers quelle page on doit être redirigé vers le lien en cliquant dessus ) et celles qui l'ont l'expression qu'on recherche y est remplacée par le texte de remplacement.

  • Le deuxième élément est l'expression qu'on recherche :

      Il s'agit d'une expression régulière ( une sorte de modèle avec des caractères spéciaux permettant de rechercher de façon plus complexe que ["toto" égale "toto" ?], pour plus d'info, voir : commentcamarche.net, toutjavascript.com et développez.com ) qui sera recherchée dans les messages.

  • Le dernier paramètre est ce par quoi sera remplacée l'expression trouvée.


Exemples de recherche/remplacement :

  • ["text",/a/g,"å"]

    • "text" : la recherche/remplacement se fera dans le texte du message.
    • /a/g : on cherche le caractère a ( le g de /expression/g signifie qu'on fait une recherche de type "glouton", c'est à dire qu'on ne cherche pas juste la première occurrence mais toutes ).
    • "å" : on remplacera ce qu'on trouve par le caractère å.

    • Effet : la censure provoquera le remplacement de tout les caractères a du texte des messages par le caractère å.

  • ["html", /\[iframe\(([0-9]+),([0-9]+)\)\]@(.*?)\[\/iframe\]/g, '<iframe style="border:none" width="$1" height="$2" src="$3"></iframe>']

    • "html" : la recherche/remplacement se fera sur l'ensemble du code html du message.
    • /\[iframe\(([0-9]+),([0-9]+)\)\]@(.*?)\[\/iframe\]/g : on cherche [iframe(chiffre,chiffre)]@adresse[/iframe] ( le [ est un caractère spécial, pour le chercher il faut mettre un \ devant ( pareille pour ], (, ) et / ), (contenu) si il n'y a pas de \ devant les parenthèses capture le contenu ( c'est à dire que les parenthèses ne seront pas cherchées mais que dans le remplacement on pourra mettre $1 pour récupérer le contenu de la première parenthèse, $2 pour récupérer le contenu de la deuxième parenthèse, ... ), [contenu] sans \ devant les crochets signifie une lettre de mon contenu ( et à l'intérieur un - entre deux caractères signifie, le caractère à gauche, le caractère à droite et tout les caractères entre, donc [0-9] est pareille à [0123456789] ), le + signifie que ce qui précède doit être présent 1 fois ou plus, le . signifie n'importe quel caractère ( sauf un retour à la ligne ), le * signifie ce qui précède doit être là 0 ou plusieurs fois, et le ? signifie ce qui précède doit être là 0 ou 1 fois ).
    • '<iframe style="border:none" width="$1" height="$2" src="$3"></iframe>' : on remplacera ce qu'on trouve par <iframe style="border:none" width="$1" height="$2" src="$3"></iframe> avec $1, $2 et $3 qui viennent de l'expression cherchée comme suit : [iframe($1,$2)]@$3[/iframe].

    • Effet : la censure remplacera les [iframe(chiffre1,chiffre2)]@adresse[/iframe] ( un @ devant l'adresse pour ne pas qu'elle se transforme en lien ) se trouvant dans les messages par une vrai iframe.

  • ["href", /^(https?:)?\/\/www\.mechant-site\.com(\/.*)?$/, "/h4-ceci-est-un-mechant-site"]

    • "href" : la recherche/remplacement se fera sur l'ensemble des attributs href du message ( c'est à dire en fait, sur les liens vers lesquels on est redirigé ).
    • /^(https?:)?\/\/www\.mechant-site\.com(\/.*)?$/ : on cherche cherche toutes les adresses de mechant-site.com ( le . est un caractère spécial pour le chercher il faut mettre un \ devant, le ^ signifie que ce qui suit doit être tout au début dans ce qu'on recherche, le $ signifie que ce qui précède doit être tout à la fin dans ce qu'on recherche ).
    • "/h4-ceci-est-un-mechant-site" : on remplacera ce qu'on trouve par "/h4-ceci-est-un-mechant-site" ( un page html du forum expliquant que le site est un méchant site ).

    • Effet : la censure remplacera les liens de mechant-site.com par un lien vers la page /h4-ceci-est-un-mechant-site du forum.



Ea
Aidactif
Aidactif

Messages : 23428
Inscrit(e) le : 04/04/2008

Ea a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut


Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum