删除尾随换行符

mat*_*786 17 php regex mysql preg-replace

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

$string = preg_replace('/\n/','',$string);
Run Code Online (Sandbox Code Playgroud)

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

感谢大家.

cod*_*ict 38

您需要添加行尾锚点:

$string = preg_replace('/\n$/','',$string);
Run Code Online (Sandbox Code Playgroud)

最好避免使用正则表达式进行这种简单的替换.这可以使用rtrim轻松完成:

$string = rtrim($string);
Run Code Online (Sandbox Code Playgroud)

rtrim没有第二个参数将删除rtrim包含以下内容的尾随char:

  • 新队
  • 空间
  • 垂直标签
  • 水平标签
  • 回车

  • +1指出这个伟大的效用函数. (2认同)

sou*_*rge 10

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

  • +1用于从db中获取值 (6认同)