Какой тип сортировки использовать в таблице - PullRequest
0 голосов
/ 07 сентября 2011

У меня есть простая проблема, которая, надеюсь, имеет простое решение: У меня есть сайт, написанный на PHP и HTML, использующий сервер Linux с MySQL. Он имеет форму, где пользователи заполняют некоторую личную информацию, включая текстовую область, в которой они предназначены для копирования и вставки тестового резюме.

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

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

Кто-нибудь знает, смогу ли я решить эту проблему, используя правильный тип сопоставления / кодировки символов? для этой конкретной строки, которая содержит резюме пользователей? Я надеюсь, что существует такое сопоставление, которое сохраняет и поддерживает разрывы строк.

Ответы [ 4 ]

0 голосов
/ 07 сентября 2011

или как насчет обтекания текста в <pre> </pre>

см .: http://www.w3schools.com/tags/tag_pre.asp

0 голосов
/ 07 сентября 2011

Я не думаю, что сопоставление связано с этим.Строки разрыва от textarea имеют форму символов \n или \r.Если вы не делаете ничего «странного», эти строки разрыва должны быть сохранены в БД.

Я думаю, что ваша проблема в том, что вы отображаете содержимое таблицы, так как браузер не отображает \nи \r как новые строки, вы должны либо заменить их элементом <br/>, либо заключить каждый абзац в <p></p>

. Для этого можно использовать nl2br () .

0 голосов
/ 07 сентября 2011

Сопоставление не имеет к этому никакого отношения - сопоставления и наборы символов вообще не затронут ваши новые строки. Если вы хотите увидеть его, посмотрите на исходный текст эхо-текста.

HTML, однако, обрабатывает разрывы строк, как и все остальные пробелы, при нормальных обстоятельствах, поэтому они не будут видны, когда вы отобразите их в браузере. В любом случае вы не должны выводить простой текст в виде HTML, потому что они не одинаковы. Вы должны сначала преобразовать обычный текст в HTML; простой метод - вызвать htmlspecialchars() и nl2br() для текста (в таком порядке, иначе htmlspecialchars сожрет только что созданные вами теги br и превратит их в &lt;br/&gt;. В противном случае это не только создаст нежелательный вывод, это также может быть серьезной угрозой безопасности (XSS).

0 голосов
/ 07 сентября 2011

Используйте nl2br($text) для добавления разрывов строк HTML.

...