Подтвердить что ты не робот

Удалить конечную новую строку

У меня есть база данных MySQL, из которой я извлекаю строку, представляющую собой список слов, разделенных новой строкой. Теперь я хочу удалить только завершающий перевод строки.

Я пытался использовать preg_replace в качестве

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

Это работает, но все новые строки в строках удалены :(

Как я могу это сделать?

4b9b3361

Ответ 1

Вам нужно добавить конец строки привязки:

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

Лучше избегать регулярных выражений для такой простой подстановки. Это легко сделать с помощью rtrim:

$string = rtrim($string);

rtrim без второго аргумента удалит завершающие пробельные символы, которые включают в себя:

  • новая линия
  • пространство
  • вертикальная вкладка
  • горизонтальная вкладка
  • возврат каретки

Ответ 2

Не используйте регулярные выражения для такой тривиальной задачи. Вы можете использовать PHP rtrim() (возможно, с "\n" в качестве второго параметра) или substr() (например, substr($string, 0, -1)) или MySQL RTRIM().