PHP - конвертировать специальные символы в объекты HTML - PullRequest
1 голос
/ 26 января 2011

У меня проблема с отправкой электронной почты.Если он содержит специальные символы, он не будет отправлять.Я хочу преобразовать специальные символы в объекты HTML, например:

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

Как я могу это сделать?Спасибо.

Ответы [ 4 ]

4 голосов
/ 26 января 2011

htmlentities() - это то, что вы ищете:

http://uk3.php.net/manual/en/function.htmlentities.php

1 голос
/ 26 января 2011

Два выпуска:

(1) Используйте htmlentities (), расположенную в http://php.net/manual/en/function.htmlentities.php

Основные использования:

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

«ENT_QUOTES» приведет к преобразованию одинарных и двойных кавычек (легко изменить)

«UTF-8» вызывает набор символов UTF-8 (важно, см. Ниже)

(2) Принудительно установить кодировку на ОБА странице формы и странице отправки.

Чуть ниже открывающих скобок php вставить следующее:

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

Важно, чтобы вы навязывали кодировку на обеих страницах (реально, на каждой странице вашего сайта.)

Это должно решить проблемы. Если нет, у вас есть проблемы в других местах вашей системы очистки.

1 голос
/ 26 января 2011

htmlentities() делает это.

Используйте это так:

$text = htmlentities($text);

Но в этом нет необходимости, если вы предоставляете правильную информацию о кодировке. Попробуйте установить кодировку вашей почты.

1 голос
/ 26 января 2011

Вы, вероятно, ищете htmlentities()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...