PHP Longtext для отображения, как написал пользователь - PullRequest
0 голосов
/ 30 декабря 2010

Мне нужно знать, как отображать информацию, помещенную в поле длинного текста базы данных, так, как она была написана.

Например, если пользователь пишет в этом ниже:

My life is full of love I fly like
wedding doves I blow passed stop signs
That intersect with hate lines

-

I know what I am
I know who I be
If you can't accept me
Then don't friend me

Я хочу, чтобы он отображал текст из базы данных так же, как пользователь написал его в текстовой области, вместо того, чтобы отображать его в таком виде:

Моя жизнь полна любви, я летаю какСвадебные голуби, которые я сдул, прошли знаки остановки, которые пересекаются с линиями ненависти. Я знаю, кто я. Я знаю, кем я являюсь. Если ты не можешь принять меня. Тогда не дружите со мной

.информация правильно с использованием PHP?

Ответы [ 4 ]

4 голосов
/ 30 декабря 2010

Использование nl2br(). Он преобразует разрывы строк (например, из текстовых полей) в теги HTML <br />.

1 голос
/ 30 декабря 2010

Если вы используете nl2br для данных, они должны отображаться примерно с тем же форматированием, что и в исходной текстовой области.

Тем не менее, я бы действительно рекомендовал бы сначала прочитать о таких вещах, как обработка SQL-инъекция и экранирование и т. Д., Поскольку вы вполне можете настроить себя если вы не будете осторожны, решите проблемы с межсайтовым скриптингом (XSS).

0 голосов
/ 30 декабря 2010

Я не могу этого подчеркнуть: вы никогда не должны выводить сгенерированный пользователем контент, как он есть, но будьте осторожны, избегая всего текста, который вы выводите (см .: http://php.net/manual/en/function.htmlspecialchars.php).

0 голосов
/ 30 декабря 2010

Если вы хотите отобразить предварительно отформатированный текст, заключите его в теги

<code>  <pre>...your text here...

Многим людям не нравится элемент <pre>, потому что он часто используется плохими разработчиками идизайнеры, но это именно тот случай, для которого он должен использоваться.

Большинство браузеров отображают отформатированный текст иначе, чем обычный текст, поэтому вам, возможно, придется настроить таблицу стилей

body, pre {font-family: ...;font-size:....}
...