UTF 8 String удалить все невидимые символы, кроме новой строки

Я использую следующее регулярное выражение для удаления всех невидимых символов из строки UTF-8:

$string = preg_replace('/\p{C}+/u', '', $string);

Это прекрасно работает, но как мне изменить его, чтобы он удалял все невидимые символы, КРОМЕ новых строк? Я пробовал некоторые вещи, используя [^ \ n] и т. Д., Но это не работает.

Спасибо за помощь!

Изменить: символ новой строки - это \ npos;

Ответы на вопрос(3)

Ваш ответ на вопрос