Как удалить разрывы строк (без символов!) Из строки?
Это может показаться обманом, но будьте уверены, что это не так - я искал как SO, так и остальную часть Интернета, чтобы найти ответ на мою проблему, и в итоге нашел одинаковые недостаточные «решения». вновь и вновь. Во всяком случае, здесь это идет:
Я сохраняю пользовательский ввод из текстовой области в базу данных MySQL (в среде WordPress, но я полагаю, что это не должно иметь значения для этой проблемы). Позже он извлекается из БД для показа администраторам в серверной части сайта. Эта проблема возникает, когда пользователи отправляют текст с переносами строк (т. Е. Нажимают клавишу Enter).
Пример строки может выглядеть так:
Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!
Greetings,
Bill
В строке нет символов конца строки (& quot; \ n & quot ;, & quot; \ r & quot; или тому подобное).
я используюnl2br()
на нем, чтобы генерировать вывод HTML, но этого недостаточно. Результат тогда:
Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!<br />
<br />
Greetings,<br />
Bill
Что, насколько я понимаю, является ожидаемымnl2br()
результат, так как он вставляет теги и не должен заменять разрывы строк?
Однако формат, который мне нужен, будет таким:
Dear friends, I just wanted so Hello. How are you guys? I'm fine, thanks!<br /><br />Greetings,<br />Bill
Если строка содержит символы EOL, например & quot; \ n & quot; в этом я ударил его либоstr_replace()
или жеpreg_replace()
и покончим с этим, но я не имею ни малейшего понятия, какую иглу использовать для этих функций, если в первую очередь там нет символов.
Я могу вручную получить доступ к соответствующему полю в БД, нажимать клавишу Backspace для каждого переноса строки, и то, что я позже хочу сделать со строкой, работает. Так что я знаю, что мне нужен вышеуказанный формат.