【发布时间】:2016-09-13 12:57:29
【问题描述】:
背景是我想编码电子邮件从user@domain.com到user#domain@com
$email = 'user@domain.com';
$email_encode = str_replace( '@' , '#' , $email ); // user#domain.com
$email_encode = str_replace( '.' , '@' , $email_encode ); // user#domain@com
这应该做对吗?但是如果user类似于hello.world
它会得到hello@world#domain@com,所以这是错误的。
应该是hello.world#domain@com
所以问题是:
如果dot 在# 之后,如何替换dot?
这个问题对正则表达式或其他更好的解决方案开放。
(我将自担风险使用)
【问题讨论】:
-
这个模式的正则表达式很简单。你试过建造一个吗?
标签: php regex encoding replace