Когда я вывел экранированную строку htmlspecialchars, объекты HTML не отображаются? - PullRequest
0 голосов
/ 03 мая 2018

Привет. В настоящее время я работаю в системе, где пользователи смогут оставлять комментарии.

Проблема в том, что сущности HTML не отображаются так, как они должны отображаться, когда я отображаю экранированную строку, но по какой-то причине, если я включаю права авторского права html в нижний колонтитул, который он показывает и работает просто отлично?

Поданная строка

Why can't i submit this

Выведенная строка

Why can't i submit this

Вывод будет выглядеть так, что я не хочу. enter image description here

Функция для экранирования строки

function escape($text) {
    return htmlspecialchars($text, ENT_QUOTES, 'UTF-8');
}

Я использую это, чтобы убедиться, что мой сайт использует UTF-8

метатег

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<meta charset="UTF-8">

.htaccess

AddDefaultCharset UTF-8
AddCharset UTF-8 .htm .html .css .js .woff

Подключение

define("DB_SERVER", "mysql:host=myhost;dbname=mydb;charset=utf8");
define("DB_USER", "my user");
define("DB_PASS", "my password");
define("DB_NAME", "my database");

function dbCon() {
    try {
        $dbCon = new PDO(DB_SERVER, DB_USER, DB_PASS);
    } catch (Exception $ex) {
//        echo $ex->getMessage();
        echo "An error has occured";
    }
    return $dbCon;
}
...