Как правильно почистить html пост для сохранения в mysql

Я пытаюсь создать систему блогов, я нахожусь в точке, где я хочу сохранить данные постов в блоге в mysql, но немного путаю, как очистить или очистить данные здесь, это то, что я пытался

function test_input($data) {
$data = trim($data);
$data = stripslashes($data);
return $data;
}

Теперь, когда я опубликовал данные блога через ajax, это выглядело как

<h1 class="text-center">
Write the titles of article here
</h1>

тогда я очищаю данные поста & повторить это

echo $title = mysqli_real_escape_string($connecDB, test_input($_POST['page__title']));

Тогда вот что я получил в ответ

\r\n    Write the titles of article here\r\n

Я хочу знать, почему я получаю эти \ r \ n в ответе, как я могу избавиться от них, что является лучшим способом очистки сообщения HTML

Примечание: я хочу сохранить данные как HTML в MySQL

У меня уже есть регулярное выражение, которое найдет стиль & теги сценария & удалить его, я также попытался удалить косые черты & попытался добавить strip_tags, но я все еще получаю \ r \ n

0

Решение

Вы получаете \r\n так как mysql_real_escape_string() заменяет управляющие символы соответствующими escape-последовательностями. Эта функция предназначена только для использования, когда вы собираетесь подставить переменную в запрос MySQL, ее нельзя использовать для вывода в HTML. Правильная функция для очистки для вывода HTML htmlentities(),

$title = test_input($_POST['page__title']);
echo htmlentities($title);

Если вы хотите сохранить разрывы строк в выходных данных, вы также должны использовать nl2br(),

echo nl2br(htmlentities($title));
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]