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

3

我在发送邮件时遇到了问题。如果邮件中包含特殊字符,它就无法发送。我想将特殊字符转换为HTML实体,像这样:

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

我该如何做到这一点?谢谢。

4个回答

5

1

htmlentities() 可以这样使用。

像这样使用:

$text = htmlentities($text);

但如果您提供正确的字符集信息,这是不必要的。尝试设置邮件的字符集。


倒数第二个语句并不完全正确。<>呢? - Jonah

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');

在网站的每个页面上都强制指定字符集非常重要。

这应该可以解决问题。如果不能,那么您的净化系统可能存在其他问题。


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接