Javascript 如何在mysql数据库中保存ckeditor内容

Javascript 如何在mysql数据库中保存ckeditor内容,javascript,php,html,mysql,ckeditor,Javascript,Php,Html,Mysql,Ckeditor,我正在使用ckeditor创建一个博客站点。我想结合使用PHP和MySQL将整篇文章保存到数据库中。如果我提交包含ckeditor的表单,我将在$\u POST['editor']中获得编辑器的内容。我想把这篇文章保存在MySQL数据库中。下图包含整个表单数据。它包括: 标题元素中的标题。 在“editor1”元素中的文章(文本、代码片段、图像)。 $\u POST['editor']数组看起来像: 如何将其保存到mysql表中?我可以将整个editor1元素保存在文本类型的列中吗?是的,您可

我正在使用ckeditor创建一个博客站点。我想结合使用PHP和MySQL将整篇文章保存到数据库中。如果我提交包含ckeditor的表单,我将在
$\u POST['editor']
中获得编辑器的内容。我想把这篇文章保存在MySQL数据库中。下图包含整个表单数据。它包括:

  • 标题元素中的标题。

  • 在“editor1”元素中的文章(文本、代码片段、图像)。

  • $\u POST['editor']
    数组看起来像:


    如何将其保存到mysql表中?我可以将整个editor1元素保存在文本类型的列中吗?

    是的,您可以将源代码存储在数据库中,Wordpress就是这样工作的

    但请记住,在将字符串发送到数据库之前,请使用:

    mysqli_escape_string();
    

    当您随后获得post数据时,PHP将只在屏幕上打印HTML。

    是的,您可以将整个文章提交到数据库。但是,在你提交之前;尝试使用此功能:

    function dataready($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
    } 
    
      html_entity_decode($article_text);
    
    例如:

     dataready($_POST['editor']);
    
    因此,您可以使用任何您想要的PDO或Mysqli

    为避免打印文章时回显HTML元素,请使用以下功能:

    function dataready($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
    } 
    
      html_entity_decode($article_text);
    
    希望这对你有用


    对数据库使用列类型文本是可以的。如果您想向该列添加更多文本,也可以使用LONGTEXT。

    简单易用的base64_encode()

    获取数据时,请使用base64_decode()


    内容混合了字符串、代码片段和图像。如何使用此函数仅转义字符串。是否应在该函数中传递整个“editor1”元素?我打算在mysqli上使用PDO。PDO中该函数的等效功能是什么?关于最后一行,你是说从数据库中检索数据吗?谢谢你的精确回答。我有一个问题要问你,也就是说,如果我使用html_entity_decode函数,当我打印post数组时,会弹出一个iframe?这会造成安全威胁吗?欢迎您。我以前没有尝试过,但我认为如果你在文章中包含弹出代码,那么它将无法工作。关于安全,不,这不会带来安全。然而,网站安全是一个大问题,你需要更多地了解它。Stackoverflow对此有一些有趣的答案,你也可以在互联网上找到关于这个问题的好文章,只需谷歌一下。天哪,我喜欢这个答案,并且摆脱了我一个月来的头痛。非常感谢。非常简单,但工作非常完美,仅对于那些拥有非base64的旧内容的用户,您需要添加base64检测函数来检索非base64的旧内容