Как отображать текст в том же формате, что и добавленный в текстовое поле mysql, с помощью php echo

Я хочу отобразить большой объем текста с помощью команды php echo. У меня есть эти данные, хранящиеся в таблице базы данных mysql в текстовом поле. Чего я хочу добиться, так это того, чтобы данные отображались так же, как я сохраняю их в текстовом поле.

Например:

Как вводится в таблицу Mysql через его интерфейс Одна из причин, по которой люди лгут, — это достижение личной власти.

Достижение личной власти полезно для тех, кто притворяется более уверенным, чем он есть на самом деле. Например, в прошлом месяце один из моих друзей устроил вечеринку у себя дома. Он попросил меня прийти к нему на вечеринку и привести девушку.

Хотя эта ложь помогла мне в то время, с тех пор она заставила меня смотреть на себя свысока.

Должно отображаться точно так же, как указано выше, а не: Одна из причин, по которой люди лгут, – стремление к личной власти. Достижение личной власти полезно для тех, кто притворяется более уверенным, чем он есть на самом деле. Например, в прошлом месяце один из моих друзей устроил вечеринку у себя дома. Он попросил меня прийти к нему на вечеринку и привести девушку. Хотя эта ложь помогла мне в то время, с тех пор она заставила меня смотреть на себя свысока.

Любые идеи/советы о том, как этого можно достичь? Я знаю, что могу вручную вставлять html-теги между текстом для форматирования, но я не хочу делать это вручную. В любом случае?


person Arihant    schedule 22.02.2013    source источник
comment
Вам либо нужно проанализировать данные при входе в базу данных MySQL, чтобы добавить синтаксис HTML для разрывов строк, абзацев и другого форматирования. Или проанализируйте необработанные результаты из базы данных MySQL и добавьте синтаксис HTML по мере необходимости.   -  person WhoaItsAFactorial    schedule 22.02.2013


Ответы (2)


nl2br($foo); автоматически добавит тег <br> везде, где есть разрыв строки в $foo. Вы можете echo nl2br($foo);.

В качестве альтернативы попробуйте тег <pre>. <pre><?php echo $foo; ?></pre>. Многим вам нужно больше стилей, но они сохранят пробелы, такие как разрывы строк.

person Markie    schedule 22.02.2013
comment
это было то, что я искал. Хотя я знал о nl2br(); но я не думал об этом для этой цели. В любом случае спасибо. На данный момент это решит мою цель :) - person Arihant; 22.02.2013

Мое решение:

  • Я использую виджет GWT TextArea textAreaWidget.

  • Прежде чем вставить строку TextArea в таблицу MySQL, я заменяю все символы изменения строки и табуляции:

-новая линия

String toInsert=textAreaWidget.getText().replaceAll(Character.toString((char) 10), "\n\r"));

-вкладка

String toInsert=textAreaWidget.getText().replaceAll(Character.toString((char) 9), "\t"));

Пример:

http://www.tutorialspoint.com/gwt/gwt_textarea_widget.htm

person user2258777    schedule 08.12.2015