Jump to content

Changing [email protected] to [email protected] in a message?


extrovertive

Recommended Posts

Say, I have the message "My email is [email protected] - please send it there"

I want the output to be "My email is [email protected] - please send it there"


The error is in the line with the statement:

$message = preg_replace($pattern, EmailToX($1), $message);

I'm not sure if preg_replace can call a function or not.

[code=php:0]
if(isset($_POST['msgsubmit']))
{
$message = $_POST['message'];
$pattern = "/([a-zA-Z0-9]+\@[a-zA-Z0-9]+\.[a-zA-Z]+)/i";
$message = preg_replace($pattern, EmailToX($1), $message);
echo $message;
}

function EmailToX($email)
{
  $pattern = "/[[:alnum:]_]/i";
  $replace = "x";
  $email = preg_replace($pattern, $replace, $email);
  return $email;
}
[/code]
[code]try something like this:

[code=php:0]$string = "My email is [email protected] - please send it there";
echo preg_replace('/([-a-z0-9_][-a-z0-9_\.]+)@([-a-z0-9_][-a-z0-9_\.]+)\.([a-z]{2,4})/ise', 'str_repeat("x", strlen("\\1")) . "@" . str_repeat("x", strlen("\\2")) . "." . str_repeat("x", strlen("\\3"))', $string); [/code]

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.