我在 PHP 中有一个小问题,但我似乎找不到对此的解释。
我有一个简单sprintf
的电子邮件标题:
$mail_to = sprintf('%s %s <%s>', 'Harry', 'Potter', '[email protected]');
但这只是存储Harry Potter
并且似乎忽略了<
和>
字符之间包含的任何内容。删除<
并>
正确产生Harry Potter [email protected]
.
我检查了该函数的 PHP 手册,但它没有提到有关这些字符的任何问题。我也尝试%
按照类似问题中的建议转义它们,但似乎不需要转义。
显然,我可以使用简单的字符串链接.
来实现这一点,并且可能会这样做。但我仍然很好奇为什么会发生这种情况。
在此先感谢您的时间!
所以发生的事情是您的浏览器(Chrome、IE、Sarafi 等)认为括号之间的内容是 HTML 标签。试试这个:
$mail_to = sprintf('%s %s <%s>', 'Harry', 'Potter', '[email protected]');
看看这是否有效。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句