Отображение пробелов в HTML при извлечении из колонки MySQL TEXT - PullRequest
8 голосов
/ 01 октября 2008

Я сохранил входные данные из элемента textarea в столбец TEXT в MySQL. Я использую PHP для извлечения этих данных из базы данных и хочу отобразить их в элементе p, в то же время показывая пробелы, введенные пользователем (например, несколько пробелов и строк новой строки). Я пробовал предварительный тег, но он не соответствует ширине, установленной в содержащем элементе div. Помимо создания функции PHP для преобразования пробелов в & nbsp и новых строк в теги br, каковы мои варианты? Я бы предпочел чистое решение HTML / CSS, но любой вход приветствуется! Спасибо!

Ответы [ 4 ]

11 голосов
/ 01 октября 2008

Вы можете заставить текст внутри pre переноситься, используя следующий CSS

pre {
 white-space: pre-wrap;       /* css-3 */
 white-space: -moz-pre-wrap;  /* Mozilla, since 1999 */
 white-space: -pre-wrap;      /* Opera 4-6 */
 white-space: -o-pre-wrap;    /* Opera 7 */
 word-wrap: break-word;       /* Internet Explorer 5.5+ */
}

Взято с с этого сайта

В настоящее время он определен в CSS3 (который еще не является законченным стандартом), но большинство браузеров, кажется, поддерживают его в соответствии с комментариями.

2 голосов
/ 09 октября 2008

Вы можете просто использовать PHP nl2br функцию .

2 голосов
/ 01 октября 2008

У вас есть два конкурирующих требования. Вы либо хотите, чтобы содержимое вписывалось в определенную область (то есть: width: 300px), либо хотите сохранить пробелы и символы новой строки по мере их ввода пользователем. Вы не можете делать и то и другое, поскольку одно по определению мешает другому.

Поскольку HTML не распознает пробелы, ваши единственные опции меняют несколько пробелов на "& nbsp;" и изменение новой строки на
, используя тег

или указав стиль css "white-space: pre". 
1 голос
/ 01 октября 2008

Что касается проблемы с div, вы всегда можете прокрутить его или уменьшить шрифт (это даже возможно динамически в зависимости от длины самой длинной строки в вашем коде на стороне сервера).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...