2013-10-24 2 views
4

Я пытаюсь отобразить данные в textarea, которые извлекаются из таблиц, которые я отправил через другую форму. Проблема возникает при вводе новой строки.разрывы строк, отображающиеся как r n в textarea

Данные получать отображаемые в текстовое поле как

Lin1 \ г \ nlin2

она должна быть как

lin1 
lin2 

Я попытался nl2br, но он не работает как и ожидалось. Как я могу сделать вещи оптимизированными. Спасибо

+0

Вы можете исправить это с помощью Javascript. \ r и \ n не являются обычным HTML, например
. Взгляните на это: http://stackoverflow.com/questions/863779/textarea-line-breaks-javascript – Kevinvhengst

+0

Возможное дублирование http://stackoverflow.com/questions/3059091/how-to-remove-carriage-returns -from-output-of-string –

ответ

4

Надеюсь, str_replace сэкономит вам.

<?php 
$str='lin1\r\nlin2'; 
$str=str_replace('\r\n','<br>',$str); 
echo $str; 

ВЫВОД:

lin1 
lin2 
+0

Не будет ли 'text.replace' лучшим решением? – Kevinvhengst

+1

@shankar спасибо. это сработало! – sharmacal

0

переусердствовать цитата вставки/обновления заявление

Эта проблема в вас случае, если вы можете решить делать следующий

<?php 
$str = 'lin1\r\nlin2'; 
$solved_str = str_replace(array("\\r","\\n"), array("\r","\n"), $str); 

var_dump($str,$solved_str); 

Но вам нужно для проверки вставки/обновления для более котировки esc символы ape

4

Это общий вопрос, и наиболее распространенными являются ln2br или str_replace.

Однако это просто создает ненужный код.

В действительности проблема почти всегда заключается в том, что вы запускаете данные через функцию escape-функции mysql перед ее отображением. Вероятно, пока вы в процессе его сохранения. Вместо этого избегайте данных для сохранения, но покажите невыпущенную версию.

1

Я бы рекомендовал использовать двойные кавычки для \ r \ n, такие как "\ r \ n". Я никогда не работал с одиночными кавычками.

3

Эта проблема может быть решена с использованием stripcslashes() при выводе данных.

Обратите внимание, что метод выше отличается от stripslashes(), который не работает в этом случае.

Я пробовал использовать nl2br, но этого было недостаточно.

1
<?php echo str_replace('\r\n', "\r\n", $text_with_line_breaks); ?> 

См одинарные кавычки & двойные кавычки это трюк.

Идеальное решение для новичков.

+0

Спасибо, Это работает для меня. –

Смежные вопросы