如何将棘手的ereg_replace转换为preg_replace?

时间:2013-02-21 22:48:51

标签: php posix-ere

我知道有很多问题,但我没有找到与我的问题相符的内容。我想将此表达式转换为preg_replace:

$a = ereg_replace('[-a-z0-9!#$%&\'*+/=?^_`{|}~]+@([.]?[a-zA-Z0-9_/-])*','', $a);

到目前为止尝试了这些但没有奏效:

$a = ereg_replace('/[-a-z0-9!#$%&\'*+/=?^_`{|}~]+@([.]?[a-zA-Z0-9_/-])*/','', $a);
$a = ereg_replace('|[-a-z0-9!#$%&\'*+/=?^_`{|}~]+@([.]?[a-zA-Z0-9_/-])*|','', $a);

以下是第二行的错误消息:

Warning: preg_replace(): Unknown modifier '}' in

1 个答案:

答案 0 :(得分:1)

表示用于分隔匹配字符串的字符,使用不在匹配字符串中的内容,或者转义字符串中分隔符的使用,例如

$a = ereg_replace('/[-a-z0-9!#$%&\'*+\/=?^_`{|}~]+@([.]?[a-zA-Z0-9_\/-])*/','', $a);

这个例子有点难以阅读;我会找到一个根本没用过的角色。