代码片段 → PHP → 自动生成 Mailto 链接 自动生成 Mailto 链接 Chris Coyier 于 2009年9月3日 $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;
请记住,POSIX 正则表达式函数在 PHP 5.3.0 中已弃用,并在 PHP 6 中被移除。
参见 http://us2.php.net/manual/en/function.eregi-replace.php
AndiD 说得对。请使用 preg_* 函数代替 eregi_* 函数。
但这到底做了什么?我正在考虑在我的网站页脚上创建一个 mail:to 链接
http://attilahajzer.host-ed.net/
看看是否值得这样做。
或者,由于 eregi_replace 已弃用,请使用 preg_replace,如下所示
$stringa = “这应该格式化我的电子邮件地址 [email protected]“;
$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);
实际上它应该是这样的
$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);
实际上它应该是这样的
$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);