我在PHP中有一个小问题,但似乎找不到对此的解释。
我有一个简单的sprintf
来撰写电子邮件标题:
$mail_to = sprintf('%s %s <%s>', 'Harry', 'Potter', 'h.potter@example.com');
但这只是存储Harry Potter
,似乎忽略了<
和>
字符之间的任何内容。正确删除<
和>
会产生Harry Potter h.potter@example.com
。
我检查了PHP手册中的函数,但未提及有关这些字符的任何问题。我也尝试按照类似问题中的建议,使用%
使其逃脱,但似乎不需要转义。
很显然,我可以使用.
链接简单的字符串来实现这一目标,并且可能会这样做。但是我仍然很好奇为什么会这样。
提前感谢您的时间!
答案 0 :(得分:4)
因此,正在发生的情况是您的浏览器(Chrome,IE,Sarafi等)认为方括号之间的内容是HTML标记。试试这个:
$mail_to = sprintf('%s %s <%s>', 'Harry', 'Potter', 'h.potter@example.com');
看看是否可行。