Folgende Funktion soll einen String mach Mailaddys durchsuchen, sie kennzeichnen und verschlüsseln. Diese Funktion sucht sie nur, was nicht zu klappen scheint ist folgender Teil:
Volle Funktion als Teil einer großen Klasse:
Weiß einer Rat? ?)
PHP-Code:
$text = preg_replace("#\[mail\](\S+?)\[/mail\]#i", '$this->encrypt("$1")', $text);
PHP-Code:
function replace_uri($text) {
define('SEARCH', 0);
define('REPLACE', 1);
$codes = array();
$codes[SEARCH][] = "/([\s])([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,}))/si";
$codes[SEARCH][] = "/^([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,}))/si";
$codes[REPLACE][] = "\\1[mail]\\2[/mail]";
$codes[REPLACE][] = "[mail]\\0[/mail]";
$text = preg_replace($codes[SEARCH], $codes[REPLACE], $text);
empty($codes);
print '<pre>';
print_r($codes);
print '</pre>';
$text = preg_replace("#\[mail\](\S+?)\[/mail\]#i", '$this->encrypt("$1")', $text);
# neighter (a) nor (b) do work. why?
# a:
#$text = preg_replace("/\[mail\](.*?)\[\/mail\]/si", encrypt('\1',$this->java), $text);
# b:
#$codes[SEARCH][] = '/\[mail\](.*)\[\/mail\]/Uesi';
#$codes[REPLACE][] = 'encrypt(\'\1\',$this->java)';
#$text = preg_replace($codes[SEARCH], $codes[REPLACE], $text);
return $text;
}
Kommentar