Estoy trabajando en un proyecto en el que tengo que insertar datos en la base de datos usando tinymce o ckeditor . ¡Pero el problema es que las etiquetas HTML no se insertan en la base de datos! Aquí están mis códigos.
mi html
<form action="action.php" method="POST" id="dataForm"> <textarea name="details" class="tinymce"></textarea> <button type="submit" id="dataBtn">Add Post</button> <div id="dataResult"></div> </form>mi JavaScript
$('#dataBtn').click(function(){ $.post( $('#dataForm').attr('action'), $('#dataForm').serializeArray(), function(result) { $('#dataResult').html(result); } ); });mi php
$details = $_POST['details']; $flag = false; $error = []; $valid = []; if (!empty($details)) { $flag = true; } else { $error[] = "Provide details!"; $flag = false; } if ($flag == true) { $query = "INSERT INTO tbl_post(details)VALUES('$details')"; $result = $db->insert($query); // $db is database class if ($result) { $valid[] = "Data added successfully!"; } else { $error[] = "Something is not right! please try again later!"; } } else { $error[] = "Something went wrong!"; }Los datos se insertan en la base de datos pero sin el formato del editor de texto enriquecido o puede decir sin las etiquetas HTML. Quiero saber que tengo que hacer con mi código para insertar datos con etiquetas HTML. Gracias.
Use tinymce.activeEditor.getContent() para obtener contenido html del editor tinymce
tinymce.init({ selector: 'textarea', ... }); $('#dataBtn').click(function(e){ e.preventDefault(); // to get html content from tinymce var myContent = tinymce.activeEditor.getContent(); const data = $('#dataForm').serializeArray(); data.push({name: 'details', value: myContent}); $.post( $('#dataForm').attr('action'), data, function(result) { $('#dataResult').html(result); } ); });En PHP
$details = json_decode($_POST['details'], true);