如何在MySQL中进行文字换行?

9
每当我尝试用php将mysql字符串包装起来,就像这样:

while($row = mysql_fetch_array($result)){
    $id=$row['id'];
    $message = $row['message'];
    $wrappedmessage = wordwrap($message, 3, "\n", true);
    ...
}

它不会换行,而是添加一个空格。例如,如果消息是“你好,你怎么样。” 它会打印“你 好,你 怎么 样。”出了什么问题?
答案:
while($row = mysql_fetch_array($result)){
  $id=$row['id'];
  $message = $row['message'];
  $wrappedmessage = wordwrap($message, 3, "<br/>", true);

  echo "$wrappedmessage<br/>";
}
4个回答

2

我打赌你是通过网络浏览器查看这段文字的。

你需要使用 <br/> 而不是 \n 作为换行符,或者将文本用 <pre></pre> 包围。

编辑:

另一种选择是根据 Christian Sciberras 在评论中提供的建议使用:

nl2br(wordwrap($message, 3, "\n", true));

2
+1 - 我打赌你是对的。:) 顺便说一下,关于 <br/>,你可能想建议使用 nl2br() - Christian

1

0
请尝试使用PHP_EOL常量代替"\n"。它将为运行PHP的系统生成换行符。

0
你的输出是要在浏览器中显示吗?如果是,你需要加上 "<br />\n"。否则,如果你的输出是在命令行中,那么 "\n" 就足够了。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接