0

我有一个非常简单的问题。当 ajax 从 php 中捕获回声时,女巫看起来像这样:

<h2> Hello world </h2>
 <p>Simple text</p>

ajax 将 \n 添加到其中,因此 HTML 页面中的输出如下所示:

你好世界\n\n
简单文本\n

并且它(\n)在重新加载后消失。它不是 PHP 的错,因为当我在 echo 之前查找 \n 字符时,它不会替换任何东西,所以它必须通过 ajax 处理。您不知道如何在不重新加载页面的情况下摆脱输出中的 \n 吗?

编辑: ajax:......我让它变得简单......

$('#send').click(function(){
  var obsah = CKEDITOR.instances['content'].getData();
  var id = adr();
  $.ajax({
    data:{'content': content, 'id':id},
    success: function(data){
          $('#removeable').append(data);           
       },
    error: function(){
        alert('Error')    
      }
    });
  });

php:

if(!empty($_POST['content'])){
    $prispevek = mysql_real_escape_string($_POST['content']);
            $id = $_POST['id'];
            $sql = "UPDATE navigation SET `content` = CONCAT_WS('',`content`,'$prispevek') WHERE `ID` = '$id'";
    mysql_query($sql) or die (mysql_error());
    //$prispevek = str_replace("\n", "", $prispevek);
    echo $prispevek;
}
4

2 回答 2

0

问题是\n元素之间的(换行符)是由 textarea 引起的。因此,使用 jQuery 可以轻松修复添加行:

obsah = obsah.replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, ' ');
于 2019-02-22T09:43:46.077 回答
0

您是否尝试过使用nl2br php 功能?( http://php.net/manual/en/function.nl2br.php )

我认为这应该对你有所帮助。

echo nl2br($prispevek);

还有一件事情。我建议您添加退出;死();打印 php 响应后。

像这样:

echo nl2br($prispevek);
exit;

为什么你应该这样做?读这个:https://stackoverflow.com/questions/2909475/will-php-code-exit-after-echo-for-ajax

于 2019-02-22T09:51:02.040 回答