Как сохранить входные данные без тегов HTML в базе данных MySQL?

0

Проблема в том, что после вставки в базу данных html-теги, такие как p, h2 и т.д., Присутствуют вместе с пользовательским вводом.

Я попробовал функцию php mysqli_real_escape_string, но она не работает. HTML-теги все еще находятся в БД.

<script src="tinymce/tinymce.min.js"></script>
<?php 
include 'connection.php';

if(isset($_POST['submit'])){
    $msg = mysqli_real_escape_string($conn, $_POST['msg']);
$sql = mysqli_query($conn, "INSERT INTO messages(msg) VALUES('$msg')");
}
?>
    <form action="" method="post">
        <textarea name="msg" id="editor">   </textarea>
        <input type="submit" name="submit" value="Submit">
    </form>

    <script>
        tinymce.init({
  selector: 'textarea#editor',
  auto_focus: 'element1',
  width: "200",
  height: "200"
});
</script>

Я хочу, чтобы после сохранения входных данных нет HTML-тегов в базе данных.

  • 0
    strip_tags () ? ... хотя зачем реализовывать TinyMCE (редактор WYSIWYG ), если вы не хотите использовать HTML в системе (нет ничего плохого в том, чтобы иметь HTML в базе данных, кстати)? Вы также должны посмотреть на подготовленные операторы со связанными параметрами .
  • 0
    Хорошим дополнением может быть сохранение разрыва str_replace("<br>", "\n", $_POST['msg']) перед вызовом strip_tags()
Теги:
tinymce

2 ответа

2

Используйте функцию strip_tags().

<?php

$msg = strip_tags($msg);
1

Если вы хотите удалить HTML-теги, вы можете использовать strip_tags().

$_POST['msg'] = strip_tags($_POST['msg']);
  • 0
    Спасибо, сэр. Это решает простую проблему.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню