I've a MySQL database from which I extract a string which is a list of words separated by newline. Now I want to remove only the trailing newline.
I tried using preg_replace as
$string = preg_replace('/\n/','',$string);
It works, but all the newlines in the strings are removed :(
How can I do this?
Вам нужно добавить привязку конца строки:
$string = preg_replace('/\n$/','',$string);
Лучше избегать регулярных выражений для такая простая замена. Это легко сделать с помощью rtrim как:
$string = rtrim($string);
rtrim
без второго аргумента удалит завершающие пробельные символы, которые включают:
Не используйте регулярные выражения для такой тривиальной задачи. Вы можете использовать PHP rtrim ()
(возможно, с "\ n"
в качестве второго параметра) или substr ()
(например, substr ($ string , 0, -1)
) или MySQL RTRIM ()
.