Remplacer un Email par une image

Tous les benchmarks, vos résultats, vos tests.
Vos programmes, vos conseils logiciel
Votre matos, vos problèmes
Avatar de l’utilisateur
Aurelienazerty
Webmaster / Président
LAN : 127
Réactions :
Messages : 25513
Inscription : septembre 27, 2002, 9:41 pm

Remplacer un Email par une image

Message par Aurelienazerty »

Petite technique bien sympatique pour changer les adresses mails contenues dans un texte par des images:

Code : Tout sélectionner

$texte= preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<img src=\"email2png.php?domaine=\\3&nom=\\2\" alt='E-mail'>", $texte);
Le fichier Email2png.php:

Code : Tout sélectionner

<?php
/***************************************************************************
 *                              email2png.php
 *                            -------------------
 *   begin                : Wed, June 8, 2005
 *
***************************************************************************/

if (isset($_GET["nom"])) $nom = $_GET["nom"];
else $nom = "nobody";
if (isset($_GET["domaine"])) $domaine = $_GET["domaine"];
else $domaine = "team-azerty.com";

$texte = $nom."@".$domaine;

$im = imagecreate(strlen($texte)*9, 16);

// fond blanc et texte bleu
$bg = imagecolorallocate($im, 255, 255, 255);
$textcolor = imagecolorallocate($im, 0, 0, 0);

// ajout de la phrase en haut à gauche
imagestring($im, 5, 0, 0, $texte, $textcolor);

// affichage de l'image
header("Content-type: image/png");
imagepng($im);
?>
Enfin un mod pour PhpBB2

Code : Tout sélectionner

## easymod compliant
##############################################################
## MOD Title: Hide Email
## MOD Author: W. Aurélien http://www.team-azerty.com
## MOD Description: This mod replace e-mail addresses in post to spam-bots and anonymous users with Image.
## MOD Version: 1.0.0
##
## Installation Level: Easy
## Installation Time: 1 Minute
## Files To Edit: /viewtopic.php, /includes/bbcode.php
## Included Files: email2png.php
##############################################################
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered
## in our MOD-Database, located at: http://www.phpbb.com/mods/
##############################################################
## Author Notes: This mod was tested on phpBB version 2.0.15
## 
##############################################################
## MOD History:
##
##   2005-06-08 - Version 1.0.0
##      - Initial version. Hides e-mail in post message.
##
##############################################################
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD
##############################################################
#
#--[ COPY ]
#

copy email2png.php to includes/email2png.php

#
#-----[ OPEN ]------------------------------------------
#
 /includes/bbcode.php
 
#
#-----[ FIND ]------------------------------------------
#
function make_clickable($text)
 
#
#-----[ REPLACE WITH ]------------------------------------------
#
function make_clickable($text, $viewEmail=true)

#
#-----[ FIND ]------------------------------------------
#
	$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
 
#
#-----[ REPLACE WITH ]------------------------------------------
#

	if ($viewEmail) $ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);
	else $ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<img src=\"./includes/email2png.php?domaine=\\3&nom=\\2\" alt='E-mail'>", $ret);

#
#-----[ OPEN ]------------------------------------------
#
/viewtopic.php

#
#-----[ FIND ]------------------------------------------
#
	$message = make_clickable($message);
 
#
#-----[ REPLACE WITH ]------------------------------------------
#
	$message = make_clickable($message, ( !empty($userdata['user_id']) && ($userdata['user_id'] != ANONYMOUS) ));
	
#
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------------
# 
# EoM 
C'est ce qui est utilisé sur ce forum
nightblade
Bernard pivot
LAN : 14
Réactions :
Messages : 837
Inscription : janvier 15, 2003, 5:47 pm

Message par nightblade »

ça sert à quoi? :oops: (quel est l'utilitée) :heing:
Avatar de l’utilisateur
Nicolazerty
l'élu
LAN : 41
Réactions :
Messages : 4116
Inscription : septembre 27, 2002, 2:59 pm

Message par Nicolazerty »

a rien #zinzin
Résistance !
Avatar de l’utilisateur
Aurelienazerty
Webmaster / Président
LAN : 127
Réactions :
Messages : 25513
Inscription : septembre 27, 2002, 9:41 pm

ben si

Message par Aurelienazerty »

Ben simplement à éviter que les robots spammeur viennent récupérer l'adresse mail... Là l'Email est caché...
nightblade
Bernard pivot
LAN : 14
Réactions :
Messages : 837
Inscription : janvier 15, 2003, 5:47 pm

Message par nightblade »

...#zinzin
Je sens du foutage de gueule dans ce poste! :wink:
Avatar de l’utilisateur
Nicolazerty
l'élu
LAN : 41
Réactions :
Messages : 4116
Inscription : septembre 27, 2002, 2:59 pm

Re: ben si

Message par Nicolazerty »

Aurelienazerty a écrit :Ben simplement à éviter que les robots spammeur viennent récupérer l'adresse mail... Là l'Email est caché...
ben il est toujours visible dans le mailto nan?(j'aime pas decoder du php)
Résistance !
Avatar de l’utilisateur
Aurelienazerty
Webmaster / Président
LAN : 127
Réactions :
Messages : 25513
Inscription : septembre 27, 2002, 9:41 pm

php c'est propre!

Message par Aurelienazerty »

Là en fait c'est pour une adresse mail qui se balade dans un texte brute (ce qui est le cas dans un forum)... Donc pas de mailto... Celui ci est rajouté après...
Avatar de l’utilisateur
Nicolazerty
l'élu
LAN : 41
Réactions :
Messages : 4116
Inscription : septembre 27, 2002, 2:59 pm

Message par Nicolazerty »

nightblade a écrit :
...#zinzin
Je sens du foutage de gueule dans ce poste! :wink:
:dubitatif:
c'est pas impossible
Résistance !
nightblade
Bernard pivot
LAN : 14
Réactions :
Messages : 837
Inscription : janvier 15, 2003, 5:47 pm

Message par nightblade »

ok :sage:
Mais du coup pour utiliser l'adresse on doit la recopier à la main?
Avatar de l’utilisateur
Aurelienazerty
Webmaster / Président
LAN : 127
Réactions :
Messages : 25513
Inscription : septembre 27, 2002, 9:41 pm

non nico, pas toi

Message par Aurelienazerty »

nicolazerty a écrit :
nightblade a écrit :
...#zinzin
Je sens du foutage de gueule dans ce poste! :wink:
:dubitatif:
c'est pas impossible
Pourtant c'est pas ton genre nico... #zinzin
Avatar de l’utilisateur
Aurelienazerty
Webmaster / Président
LAN : 127
Réactions :
Messages : 25513
Inscription : septembre 27, 2002, 9:41 pm

yep

Message par Aurelienazerty »

nightblade a écrit :ok :sage:
Mais du coup pour utiliser l'adresse on doit la recopier à la main?
Tout à fait, d'où le mod pour phpbb qui ne fait cette modification que pour les utilisateurs anonymes...