E-Mailadresse mit JavaScript verschlüsseln

slaughter89

Mitglied
Hi,
auf dieser Seite wird mit Javascript die E-Mailadresse verschlüsselt:
http://www.onlyfree.de/generatorantispam.php

Genau so einen Generator wollte ich mir auch basteln, aber leider funktioniert das nicht ganz :(

Soweit war ich schon:

PHP:
<?php

$suche = array( 
'@',
'0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9');

// für textarea-Feld zum kopieren
$ersetze = array( 
'&amp;#64;',
'&amp;#48;',
'&amp;#49;',
'&amp;#50;',
'&amp;#51;',
'&amp;#52;',
'&amp;#53;',
'&amp;#54;',
'&amp;#55;',
'&amp;#56;',
'&amp;#57;'); 

// für live-Vorschau
$ersetze2 = array( 
'@',
'0',
'1',
'2',
'3',
'4',
'5',
'6',
'7',
'8',
'9'); 


print '
<span class="txt">Eingabe:</span>
<br />
<form action="'.$_SERVER['PHP_SELF'].'" method="get">
E-Mail: <input name="email" type="text" value=""><br />
Text: <input name="text" type="text" value="E-Mail versenden"> <br />
<input type="submit" value="umwandeln">
</form>
<br />';


if(isset($_GET['email']) && isset($_GET['text']))
{
$text = $_GET['text'];
$email = $_GET['email'];
	
$code = str_replace($suche, $ersetze, $email);

echo "<span class='txt'><br />";

echo "Code:<br />";

print '
<textarea name="code" cols="50" rows="5">
<script language="javascript">
document.write("<a href=\"mailto:")
document.write("'.$code.'\"><font size=+0>'.$text.'<\/font><\/a>")
</script></textarea>';

echo "<br /><br />Vorschau:<br />";

$code2 = str_replace($suche, $ersetze2, $email);

print '
<script language="javascript">
document.write("<a href=\"mailto:")
document.write("'.$code2.'\"><font size=+0>'.$text.'<\/font><\/a>")
</script>
';

echo "</span>";
}


?>

das Problem liegt an der Stelle:
$code = str_replace($suche, $ersetze, $email);
bzw.
$code2 = str_replace($suche, $ersetze2, $email);

Wenn er @ mit @ ersetzt, dann ersetzt er die 6 und die 4 von &#64 auch noch.
Wie muss das aussehen, wenn er das nicht machen soll ?

mfg
Basti
 
Warum leicht, wenn es auch schwer geht:

PHP:
<?php
$new = '';

for ($i = 0; $i < strlen($adress); ++$i) {
    $new .= '&#' . ord($adress{$i}) . ';';
}
?>
<script language="javascript">
document.write("<a href=\"mailto:<?php
  echo "{$new}";
?>"><font size=+0>E-mail schreiben<\/font><\/a>")
</script>

Mehr dazu: [phpf]ord[/phpf]
 
Zurück