Bezdepbonusu7Программирование: статьи и ответы

Вопрос

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

Автор вопроса: ArihantОтветов: 2

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

Например:

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

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

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

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

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

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

textphpformattingecho

Ответы

Ответ 1 · рейтинг 2 · Markie

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

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

Ответ 2 · user2258777

Мое решение:

  • Я использую виджет 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

Перевод вопроса и ответов сообщества Stack Overflow, лицензия CC BY-SA. Оригинал на Stack Overflow.

Похожие материалы