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;

Comments

  1. AndiD
    Permalink to comment#

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

    See http://us2.php.net/manual/en/function.eregi-replace.php

  2. Frank
    Permalink to comment#

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

  3. Attila Hajzer
    Permalink to comment#

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

    http://attilahajzer.host-ed.net/

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

  4. Soladnet
    Permalink to comment#

    Alternatively since eregi_replace is deprecated use preg_replace thus

    $stringa = “This should format my email address example@domain.com“;

    $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. ljasinskipl
    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. ljasinskipl
    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:

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