PHP正则表达式Preg替换以获取电子邮件

时间:2012-03-05 09:52:07

标签: regex preg-replace

我的脚本中有以下语法来从字符串中获取电子邮件地址。电子邮件地址包含 - 。 1234567890 _个字符。在@符号之前检索电子邮件地址但不是_字符。

preg_replace("/<([a-z][a-z0-9]*)[^>]*?(\/?)>/i",'<$1$2>', $value);

例如:字符串中的电子邮件地址是ahmad_khalid@yahoo.com,上面的语法返回khalid@yahoo.com

1 个答案:

答案 0 :(得分:4)

您需要将_字符添加到正则表达式中,因此它将成为

preg_replace("/<([a-z][_a-z0-9]*)[^>]*?(\/?)>/i",'<$1$2>', $value);

或者,您可以

preg_replace("/<([a-z][\w]*)[^>]*?(\/?)>/i",'<$1$2>', $value);

使用“单词字符”\ w作为简写