Page 1 sur 1

Remplacer un Email par une image

Publié : juin 30, 2005, 4:57 pm
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

Publié : juin 30, 2005, 5:07 pm
par nightblade
ça sert à quoi? :oops: (quel est l'utilitée) :heing:

Publié : juin 30, 2005, 5:08 pm
par Nicolazerty
a rien #zinzin

ben si

Publié : juin 30, 2005, 5:10 pm
par Aurelienazerty
Ben simplement à éviter que les robots spammeur viennent récupérer l'adresse mail... Là l'Email est caché...

Publié : juin 30, 2005, 5:11 pm
par nightblade
...#zinzin
Je sens du foutage de gueule dans ce poste! :wink:

Re: ben si

Publié : juin 30, 2005, 5:12 pm
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)

php c'est propre!

Publié : juin 30, 2005, 5:18 pm
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...

Publié : juin 30, 2005, 5:25 pm
par Nicolazerty
nightblade a écrit :
...#zinzin
Je sens du foutage de gueule dans ce poste! :wink:
:dubitatif:
c'est pas impossible

Publié : juin 30, 2005, 5:26 pm
par nightblade
ok :sage:
Mais du coup pour utiliser l'adresse on doit la recopier à la main?

non nico, pas toi

Publié : juin 30, 2005, 5:27 pm
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

yep

Publié : juin 30, 2005, 5:28 pm
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...