Treehouse: Grow your CSS skills. Land your dream job.

Last updated on:

Automatic Mailto Links

$string = eregi_replace('([_\.0-9a-z-]+@([0-9a-z][0-9a-z-]+\.)+[a-z]{2,3})','<a href="mailto:\\1">\\1</a>', $text);
echo $string;


  1. Permalink to comment#

    Keep in mind that the POSIX Regex functions are deprecated in PHP 5.3.0 and removed in PHP 6.


  2. Permalink to comment#

    AndiD is right. Use preg_* functions instead of eregi_* functions.

  3. what does this do though? im thinking about making a mail:to link on the footer of my site :

    take a look and see if it’d be worth it.

  4. Alternatively since eregi_replace is deprecated use preg_replace thus

    $stringa = “This should format my email address“;

    $pattern = “/([a-z0-9][_a-z0-9.-]+@([0-9a-z][_0-9a-z-]+\.)+[a-z]{2,6})/i”;
    $replace = “\\1“;
    $text = preg_replace($pattern, $replace, $stringa);
    echo htmlspecialchars($text);

  5. Permalink to comment#

    Actually it should be something like
    $pattern = “/([a-z0-9][_a-z0-9.-]+@([0-9a-z][_0-9a-z-]+\.)+[a-z]{2,6})/i”;
    $replace = ‘\\1‘;
    $text = preg_replace($pattern, $replace, $stringa);

  6. Permalink to comment#

    Actualy it should be something like

    $pattern = "/([a-z0-9][_a-z0-9.-]+@([0-9a-z][_0-9a-z-]+\.)+[a-z]{2,6})/i";
    $replace = '\\1';
    $text = preg_replace($pattern, $replace, $stringa);

Leave a Comment

Posting Code

We highly encourage you to post problematic HTML/CSS/JavaScript over on CodePen and include the link in your post. It's much easier to see, understand, and help with when you do that.

Markdown is supported, so you can write inline code like `<div>this</div>` or multiline blocks of code in in triple backtick fences like this:

  function example() {
    element.innerHTML = "<div>code</div>";