你需要使用正则表达式:
$1'; return preg_replace($regex, $replace, $text); } echo emailize ("bla bla bla e@mail.com bla bla bla"); ?>
在以下示例文本中使用上述功能:
blalajdudjd user@example.com djjdjd
将变成以下内容:
blalalbla user@example.com djjdjd
试试这个版本:
function automail($str){ //Detect and create email $mail_pattern = "/([A-z0-9_-]+\@[A-z0-9_-]+\.)([A-z0-9\_\-\.]{1,}[A-z])/"; $str = preg_replace($mail_pattern, '$1$2', $str); return $str; }
2015年10月31日更新:修复电子邮件地址,如 abc.def@xyz.com
function detectEmail($str) { //Detect and create email $mail_pattern = "/([A-z0-9\._-]+\@[A-z0-9_-]+\.)([A-z0-9\_\-\.]{1,}[A-z])/"; $str = preg_replace($mail_pattern, '$1$2', $str); return $str; }