Преобразование разрывов строк в разрыв html для всех получателей полей в проекте Symfony - PullRequest
0 голосов
/ 06 мая 2010

Я работаю над проектом Symfony, и в настоящее время у меня есть это:

<?php echo preg_replace('/\n/','<br />', $review->getComments()); ?>

и очень хотел бы, чтобы все получатели добавляли html-разрывы строк, чтобы мне не приходилось добавлять код в preg_replace. методы $ object-> getFieldname работают автоматически, поэтому я хочу расширить это где-то, чтобы глобально добавить новый метод. Какой здесь лучший подход?

Ответы [ 3 ]

5 голосов
/ 06 мая 2010

Похоже, что все забыли о nl2br() - функции, которая делает именно это в PHP.

nl2br($review->getComments());

РЕДАКТИРОВАТЬ: На момент написания этой статьи все остальные используют preg_replace().

1 голос
/ 06 мая 2010

Я думаю, что лучшей идеей было бы добавить метод getCommentsHtml () к вашему объекту обзора, который выполняет что-то вроде:

return preg_replace('/\n/','<br />', $this->getComments());

Затем вы можете использовать $ review-> getCommentsHtml () для их форматированияиспользуя HTML.Также, как упоминал Чарли, возможно, было бы лучше использовать str_replace, используя регулярное выражение для замены \ n вЭто может быть немного излишним:)

Так что, если вы не хотите, чтобы ваш код был засорён подобными заменами, я думаю, что добавление вспомогательного метода в классы, которые вы хотите отформатироватьбыло бы лучше всего пойти :))

1 голос
/ 06 мая 2010

Как насчет:

str_replace("\n",'<br />', $review->getComments());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...