Code snippet - HTML/CSS - Programmation
Marsh Posté le 28-06-2017 à 22:42:13
Euh désolé pour le HS, mais pourquoi vouloir interdire à des gens d'échanger ce genre d'infos? De toute façon si tu veux vraiment "censurer" il faut faire ça côté serveur, pas avec du JS côté client car on peut contourner facilement (vrai aussi pour du traitement côté serveur d'ailleurs, un humain c'est plus malin qu'un script). Et perso un site qui me fait chier avec ce genre de trucs j'évite.
Ceci étant dit ton code (à mettre entre balises ) marche très bien, même si il y a quelque "false positives". À défaut d'avoir ton code complet j'ai rajouté le minimum de truc nécessaires pour faire tourner le script... J'ai pas regardé les deux autres Regex.
Code :
|
EDIT: Le n° de téléphone vient des mentions légales de hw.fr, je pense que je peux le laisser dans le texte...
Marsh Posté le 28-06-2017 à 22:07:03
Bonsoir à tous,
J'ai crée il y a quelques mois une market place de location entre particuliers. Elle comprend une messagerie qui permet aux utilisateurs de communiquer entre eux pour échanger sur les objets à louer. Évidement, sont rapidement échangés adresses mail et numeros de portables ...
Je viens de tester un code snippet pour interdire les échanges de contacts. Ça marche bien pour les adresses mail, mais pas du tout pour les numeros de telephone.
Quelqu'un peut me dire ce qui ne va pas ?
<script> // For hiding contact details (V: 0.1 - 2017-04-24)
var targets = [
// phone numbers
/[+-\/\.\)\(\d\s]{7,22}/,
// emails
/([-\w\d\.]+?)(\s+\(?at\)?\s+|\s*@\s*|\s*([\[\]@]){3}\s*)([-\w\d\.]*?)\s*(dot|\.|\[dot\]|\[.\])\s*(\w+)/,
// skype usernames
/skype([\s-]?username)?\s?(:|at|with)?\s?\"?\S{3,16}\"?/i
];
replacement_text = '[sensitive information hidden]'
var tid = setInterval( function () {
var paragraphs = document.getElementsByTagName('p')
for (var i = 0; i < paragraphs.length; i++) {
for (var j = 0; j < targets.length; j++) {
paragraphs[i].innerHTML = paragraphs[i].innerHTML.replace(targets[j], replacement_text);
}
}
if ( document.readyState !== 'complete' && paragraphs.length < 1) return;
clearInterval( tid );
}, 1 );
</script>
Merci d'avance !!!
Bri