PHP CKeditor通过Ajax发布模糊条带html标签

时间:2014-07-02 23:33:59

标签: php ajax ckeditor contenteditable strip-tags

我使用以下php和ajax将模糊数据发布到SQL。它可以很好地将基本文本传递给数据库,但我已经将CKeditor添加到几个字段以允许WYSIWYG编辑,我似乎无法弄清楚正在发生什么正在剥离HTML标记并禁止它们通过。

这是php

<?php
if(!empty($_POST))
{
//database settings
include "config.php";
foreach($_POST as $field_name => $val)
{
    //clean post values
    $field_userid = trim($field_name);
    $val = trim(mysql_real_escape_string($val));

    //from the fieldname:user_id we need to get user_id
    $split_data = explode(':', $field_userid);
    $user_id = $split_data[1];
    $field_name = $split_data[0];
    if(!empty($user_id) && !empty($field_name) && !empty($val))
    {
        //update the values
        mysql_query("UPDATE user_details SET $field_name = '$val' WHERE user_id = $user_id") or mysql_error();
        echo "Field updated to server";
    } else {
        echo "Invalid Requests";
    }
}
} else {
echo "Invalid Requests";
}
?>

js

$(function(){
    //acknowledgement message
    var message_status = $("#status");
    $("[contenteditable=true]").blur(function(){
        var field_userid = $(this).attr("id") ;
        var value = $(this).text() ;
        $.post('ajax.php' , field_userid + "=" + value, function(data){
            if(data != '')
            {
                message_status.fadeIn("slow");
                message_status.text(data);
                //hide the message
                setTimeout(function(){message_status.fadeOut("slow", "swing")},500);
            }
        });
    });
});

以下是HTML的示例字段:

<p id="story1:<?php echo $row_rsTest['user_id']; ?>" contenteditable="true"><?php echo $row_rsTest['story1']; ?></p>

我觉得我错过了一些明显的东西。我在另一个实例中使用相同的CK编辑器,其中一个表单在Submit上发布,这可能是一个模糊问题吗?

1 个答案:

答案 0 :(得分:0)

我在CKEditor论坛中也回复了:不是使用jQuery而是使用getText(令人惊讶的是,它只会提供文本),请使用CKEditor API并在编辑器实例上调用.getData()。