PHP: función para extrar los emails de una cadena

El siguiente snippet permite extraer todos los emails contenidos dentro de una cadena.

function extract_emails($str){
    // This regular expression extracts all emails from a string:
    $regexp = '/([a-z0-9_\.\-])+\@(([a-z0-9\-])+\.)+([a-z0-9]{2,4})+/i';
    preg_match_all($regexp, $str, $m);
    return isset($m[0]) ? $m[0] : array();
}

Visto en catswhocode»»