Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 自动插入编辑器\n_Javascript_Ckeditor - Fatal编程技术网

Javascript 自动插入编辑器\n

Javascript 自动插入编辑器\n,javascript,ckeditor,Javascript,Ckeditor,我的问题在于CKEditor,它在我提交数据时添加了\n 要获取我正在使用的数据,只需: CKEDITOR.instances['contentBox'].getData() 数据库中提交后的数据示例: <p>\n Heloo<br />\n How are you?</p>\n <p>\n Another Subject<br />\n My name is Luis</p>\n 这里可能出了什么问题 编辑

我的问题在于
CKEditor
,它在我提交数据时添加了
\n

要获取我正在使用的数据,只需:

CKEDITOR.instances['contentBox'].getData()
数据库中提交后的数据示例:

<p>\n   Heloo<br />\n   How are you?</p>\n
<p>\n   Another Subject<br />\n My name is Luis</p>\n
这里可能出了什么问题

编辑2::

我正在使用
CodeIgniter
框架

控制器的一部分:

模型的一部分
课程\u模型

编码:
UTF-8

数据库中的字段
content
定义为
TEXT


我删除了一些验证代码等,因为它并不重要。

看起来这可能是您的解决方案:


看起来这可能是您的解决方案:


这可能有点遥不可及,但我认为这很可能不是ckEditor的设置(因为我过去广泛使用ckEditor,没有遇到这样的问题),而是一个特性(将
字符10
字符13
更改为
\n
符号)您正在使用的ajax库或数据库库。无论哪种方式,都要记录并检查
chr(13)
首先被
\n
替换的位置,如果它在ajax库中,那么只需要在php代码中重新解析它,如果它在数据库脚本中,则需要在其中的某个位置进行更改(我不会太惊讶,因为我知道有些人更喜欢在数据库中没有像换行符这样的“隐藏”字符)当然,这个答案只有在你试图使换行符的格式有效的情况下才有效,如果你根本不关心换行符
Lee Taylor
的话,答案才是应该去的地方。

这可能有点遥不可及,但我认为这很可能不是一个ckEditor设置(正如我在过去广泛使用ckEditor,并且没有遇到这样的问题),而是您正在使用的ajax库或数据库库的一个特性(将
字符10
字符13
更改为
\n
符号)。无论哪种方式,都要记录并检查哪个点
chr(13)
首先被
\n
替换,如果它在ajax库中,则只需要在php代码中解析它,如果它在数据库脚本中,则需要在其中的某个位置对其进行更改(我不会太惊讶,因为我知道有些人更喜欢在数据库中没有像换行符这样的“隐藏”字符)。当然,只有当您试图使换行符的格式有效时,如果您根本不关心换行符
Lee Taylor
的话,这个答案才有效。

请参阅此ckeditor输出格式化程序:


此外,此答案可能会有所帮助:

请参阅此ckeditor输出格式化程序:

这个答案也可能有帮助:

这可能会有帮助

CKEDITOR.on( 'instanceReady', function( ev )
   {
      ev.editor.dataProcessor.writer.setRules( 'p',
         {
            indent : false,
            breakBeforeOpen : true,
            breakAfterOpen : false,
            breakBeforeClose : false,
            breakAfterClose : true
         });
   });
这可能会有帮助

CKEDITOR.on( 'instanceReady', function( ev )
   {
      ev.editor.dataProcessor.writer.setRules( 'p',
         {
            indent : false,
            breakBeforeOpen : true,
            breakAfterOpen : false,
            breakBeforeClose : false,
            breakAfterClose : true
         });
   });

我知道这是一个老话题,但我也面临同样的问题,只是想分享我的解决方案

我使用jquery的ajax方法将数据发布到我的php脚本中,内容特征线更改为\n

这是我的(变通)解决方案,在将数据解析到数据库之前,我在php脚本中执行此操作:

if (strpos($content,'\n') !== false) {
    $content = str_replace('\n', chr(13), $content);
}

我知道这是一个老话题,但我也面临同样的问题,只是想分享我的解决方案

我使用jquery的ajax方法将数据发布到我的php脚本中,内容特征线更改为\n

这是我的(变通)解决方案,在将数据解析到数据库之前,我在php脚本中执行此操作:

if (strpos($content,'\n') !== false) {
    $content = str_replace('\n', chr(13), $content);
}

问题没有在那里解决。他说他在获取数据时使用了
nl2br()
。我只想在插入数据库之前删除“\n”。我已经在代码中使用了

。问题没有在那里解决。他说他使用了
nl2br()
获取数据时。我只想在插入数据库之前删除“\n”。我已经在代码中添加了

。首先感谢您,经过一些测试后,问题并不是您所说的CKEditor。我想这是Ajax的问题(我正在使用jQuery)因为如果我不使用ajax,这个动作会很好地工作。不管怎样,ajax代码非常简单(我编辑了我的主要帖子并将其发布在那里)…我看不出代码有任何问题,你有什么建议吗?在这种情况下,你应该简单地在后端解析它。顺便说一句,你是否可能使用GET而不是POST请求,因为在GET请求中,断行字符是不可能确定的。首先,谢谢你,经过一些测试后,问题不是你所说的CKEditor。我认为这与Ajax有关(我使用jQuery来实现这一点),因为如果我不使用Ajax,操作会很好地工作…我看不出代码有任何问题,你有什么建议吗?在这种情况下,你应该简单地在后端解析它。顺便说一句,你是否可能使用GET而不是POST请求,因为在GET请求中,断行字符是不可能确定的。你能显示你在db中处理和存储数据的部分吗?字符13 Is只是\n但是如果它们在数据库中显示为文字\n。可能是您处理数据的方式有问题。添加。我看不出代码有任何问题,但可能我遗漏了一些东西。验证代码是否更改$data['content']?另外,如果magic_quotes处于启用状态,我想它可能会导致\n字符与mysql_real_escape_字符串相结合。对此我不确定。但它是否处于启用状态?我已使用的建议清理了您的AJAX代码。如果这有助于让我知道。干杯!您可以显示在db中处理和存储数据的部分吗?字符13只是\n但如果y在数据库中显示为文字\n。可能是您处理数据的方式有问题。添加了。我看不出代码有任何问题,但可能我缺少了一些
if (strpos($content,'\n') !== false) {
    $content = str_replace('\n', chr(13), $content);
}