用' \ n'替换断线。

时间:2014-04-01 11:46:55

标签: javascript php jquery mysql

我需要帮助用\ n替换我的mysql数据库中的换行符。 如果我复制mysql文本并在MS Word中过去,我有这个:

image 1

我需要用\ n替换断行。像这样:

image 2

有这个和一个PHP或Javascript函数的任何MySql命令吗?

谢谢。

4 个答案:

答案 0 :(得分:2)

在Php中有一个名为nl2br

的函数
 echo nl2br("hello\nWorld");

,结果是

 hello<br/>World

在sql中有一个名为REPLACE

的函数
   UPDATE yourtable SET field=REPLACE(REPLACE(field, CHAR(13), ''), CHAR(10), '')

最后在javaScript中你也有replace

myString = myString.replace(/\r?\n/g, "");

祝你好运

答案 1 :(得分:1)

如果MS Word正在使用换行符解析文本,则表示它已经拥有换行符。

使用文本编辑器(如notepad ++)并将其设置为显示所有字符。您将看到哪些特殊字符被用作换行符(可能是\ n,\ r \ n和两者的混合)。

当您使用phpmyadmin浏览数据库时,他们不会出现,因为它的textarea控件将为您解析换行符。

答案 2 :(得分:1)

我不确定我是否正确理解了您的输入字符串,但如果代码看起来像这样。

  function replace_lb($str){
    return str_replace(array(chr(10), chr(13)), '\n', $str );
  }

用法:

  $query = mysql_query('SELECT `id`,`value` FROM table ', $link);
  while ($result = mysql_fetch_array($query)){
    mysql_query('UPDATE table SET `value`= "'.replace_lb($result['value']).'" WHERE id="'.$result['id'].'"', $link);
  }

代码可以使用一些优化,但我认为它将满足您的需求

答案 3 :(得分:0)

试试php nl2br

<?php
$result = nl2br($row['MYSQL_RESULT']);  // from the return from your query
?>