Я пытаюсь создать систему блогов, я нахожусь в точке, где я хочу сохранить данные постов в блоге в 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
Вы получаете \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));
Других решений пока нет …