PHP - 将特殊字符转换为HTML实体

时间:2011-01-26 18:27:00

标签: php email encoding

发送电子邮件时遇到问题。如果它包含特殊字符,则不会发送。我想将特殊字符转换为HTML实体,如下所示:

" ==> "
& ==> &
€ ==> €
< ==> &lt;
....

我该怎么做?感谢。

4 个答案:

答案 0 :(得分:4)

答案 1 :(得分:1)

您可能正在寻找htmlentities()

答案 2 :(得分:1)

htmlentities()这样做。

像这样使用:

$text = htmlentities($text);

但是,如果您提供正确的字符集信息,则不应该这样做。尝试设置邮件的字符集。

答案 3 :(得分:1)

两个问题:

(1)使用位于http://php.net/manual/en/function.htmlentities.php

的htmlentities()

基本用法:

$clean = htmlentities($dirty, ENT_QUOTES, "UTF-8");

“ENT_QUOTES”将导致单引号和双引号被转换(易于更改)

“UTF-8”强制使用UTF-8字符集(重要,请参见下文)

(2)在表单页面和提交页面上强制使用字符集。

在您的开头php括号下面插入以下内容:

header('Content-Type: text/html; charset=utf-8');

您必须在两个页面上强制使用字符集(实际上,在您网站的每个页面上)。

那应该解决问题。如果没有,您的净化系统中的其他地方就会出现问题。