删除尾随换行符

时间:2010-08-20 10:40:42

标签: php mysql regex preg-replace

我有一个MySQL数据库,我可以从中提取一个字符串列表 由换行符分隔的单词。现在我想只删除尾随 新队。 我尝试使用preg_replace作为

$string = preg_replace('/\n/','',$string);

它有效,但字符串中的所有换行都被删除了:( 请帮忙

谢谢大家。

2 个答案:

答案 0 :(得分:36)

您需要添加行尾锚点:

$string = preg_replace('/\n$/','',$string);

对于这种简单的替换, 避免 正则表达式更好。这可以使用rtrim轻松完成:

$string = rtrim($string);
没有第二个参数的

rtrim将删除包含以下内容的尾随whitespace字符:

  • 换行
  • 空间
  • 垂直标签
  • 水平标签
  • 回车

答案 1 :(得分:9)

不要将正则表达式用于这样一个简单的任务。您可以使用PHP的rtrim()(可能"\n"作为第二个参数)或substr()(如substr($string, 0, -1))或MYSQL的RTRIM()