Email-Adresse scramblen

09/09/2009 - 20:36 von Marten Lehmann | Report spam
Hi,

gibt es eine Möglichkeit mit einem einzigen regulàren Ausdruck eine
Email-Adresse von

meine@adresse.de

in

m***e@a*****e.de

umzuwandeln?

Auf m*e@a*e.de bekomme ich es ohne Probleme hin, aber wie kann man
festlegen, dass die Lànge der gefundenen Kette in Sternchen umgesetzt wird?

Tschüß
Marten
 

Lesen sie die antworten

#1 Peter J. Holzer
09/09/2009 - 23:33 | Warnen spam
On 2009-09-09 18:36, Marten Lehmann wrote:
Hi,

gibt es eine Möglichkeit mit einem einzigen regulàren Ausdruck eine
Email-Adresse von



in

m********e.de

umzuwandeln?



<korinthenkacker>
Nein, weil Du mit einer Regular Expression nichts umwandeln, sondern nur
etwas matchen kannst. Du meinst eine Substitution, und von der ist nur
der linke Teil eine Regex.
</korinthenkacker>


Auf m**e.de bekomme ich es ohne Probleme hin, aber wie kann man
festlegen, dass die Lànge der gefundenen Kette in Sternchen umgesetzt wird?




#!/usr/bin/perl
use warnings;
use strict;

my $email = '';

$email =~ s{(.)(.*)(.)@(.)(.*)(.\.\w+)$}
{
"$1" . ("*" x length($2)) . "$3" .
"@" .
"$4" . ("*" x length($5)) . "$6"
}xe;

print "$email";
__END__

Voraussetzung: Sowohl der Localpart als auch der Teil der Domain vor dem
letzten Punkt müssen aus mindestens zwei Zeichen bestehen.

hp

Ähnliche fragen