При поступлении новых отзывов на сайте иногда замечаю, что старательно набранный большой и красивый отзыв из-за особенностей публикации и хранения этих самых отзывов в бд, на сайте выглядит ужасно, все переносы удаляются, и получается сплошная каша из текста.
Я попробовал сам понять из-за чего так, и столкнулся со странным моментом. В контроллере вывода отзыва есть такая строка
text' => strip_tags($result['text']),
которая вырезает все html-теги из отзыва. Но зачем это сделано? Ведь при наборе отзыва html преобразовывается в текст, и если убрать strip_tags, то скажем, перенос строки, записанный в отзыв как
br />
будет выведен как
<br />
Но при этом переносы, сделанные через enter, в бд сохраняются как спецсимволы в духе \n\r
Я добавил в первую строку функцию nl2br, получилось так:
text' => nl2br(strip_tags($result['text'])),
в результате отзывы стали выводится такими, какими их набирают посетители, интересно знать, корректное ли это решение?