PHP – преобразование специальных символов в объекты HTML

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

" ==> &quot; & ==> &amp; € ==> &euro; < ==> &lt; .... 

Как я могу это сделать? Благодарю.

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

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

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

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

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

 $text = htmlentities($text); 

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

Два вопроса:

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

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

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

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

«UTF-8» заставляет char-set UTF-8 (важно, читайте ниже)

(2) Настройте кодировку на BOTH странице формы и странице отправки.

Как раз под вашими открытыми скобками php вставьте следующее:

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

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

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