我的朋友一直在我们的网站上玩弄一些语言的东西,我们的文件名现在正在使用这些字符。通常我会等他醒来,但这是一个相当大的问题,因为我们正在收到有关文件名中奇怪字符的电子邮件。
在 HTML 中回显时,您看不到这些字符,但我们将名称输出到标头,标头确实显示了这些字符,如下所示:
header('Content-Disposition: attachment; filename="'.$title.'.'.strtolower($type).'";');
Run Code Online (Sandbox Code Playgroud)
如何避免这些字符的显示呢?它们也被输入到我们的数据库中,文件名例如‪asdfmovie‬‏- 我已经用谷歌搜索了代码,但找不到它们的任何结果。
有谁知道它们是什么?以及如何避免它们?
谢谢
html_entity_decode()
http://php.net/manual/en/function.html-entity-decode.php
这些是 HTML 中有效的 html 实体。您的电子邮件客户端实际上将它们编码为 HTML 实体(双重效果),这意味着实际的实体就是您所看到的。只需确保传递到电子邮件中的任何内容都通过 html_entity_decode() 函数运行即可。