我需要帮助用\ n替换我的mysql数据库中的换行符。 如果我复制mysql文本并在MS Word中过去,我有这个:
我需要用\ n替换断行。像这样:
有这个和一个PHP或Javascript函数的任何MySql命令吗?
谢谢。
答案 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
?>