Автоматические переводы строк и форматирование для блогов - PullRequest
1 голос
/ 24 сентября 2008

Я пишу с помощью собственного движка блогов на PHP с базой данных MYSQL. Мой вопрос: как бы вы сделали так, чтобы комментарии пользователей и посты в блоге включали новые строки везде, где они уместны?

Например, если пользователь нажимает клавишу возврата в окне сообщения / комментария, как это будет переводиться в новую строку, которая будет отображаться в браузере при просмотре комментария?

Ответы [ 5 ]

7 голосов
/ 24 сентября 2008

PHP имеет функцию: nl2br, которая превращает новые строки в <br />

www.php.net / nl2br

2 голосов
/ 24 сентября 2008

Заменить \n\n на </p><p> и затем заменить \n на <br>.

PS: пиратский день был на прошлой неделе:).

1 голос
/ 24 сентября 2008

nl2br () (http://php.net/nl2br) очень хорошо, однако у Wordpress Guy (Matt Mullenweg) есть действительно хорошая функция, которая немного более продвинута, поскольку вместо этого она преобразует двойные разрывы строк в абзацы (лучше семантически). найдите его в исходном коде Wordpress или здесь: http://ma.tt/scripts/autop/

0 голосов
/ 24 сентября 2008

Если вам требуется больше параметров форматирования (помимо абзацев), используйте что-то вроде Text_Wiki или PHP Markdown .

Преимущества будут:

  • нет необходимости разрешать HTML и работать со всеми фильтрами (это хорошо: -))
  • понятное / знакомое руководство по форматированию данных
  • большая гибкость при генерации HTML (в конце для отображения)

Недостатки:

  • без HTML (благословение и проклятие; -))
  • люди могут быть не знакомы с синтаксисом
0 голосов
/ 24 сентября 2008

Также важно, что вы используете для редактора комментариев. Если вы используете стандартное текстовое поле, тогда да, nl2br - это то, что вы ищете. Если вы собираетесь продвинуться немного дальше, например, с помощью редактора WYSIWYG, например tinyMCE, то у него есть конфигурация, которая сможет это сделать.

...