У меня есть текстовое поле в моей форме, которое просит пользователя ввести его/ее информацию. Я хочу, чтобы при отправке формы введенные данные заменяли все разрывы строк тегом <br />
, поэтому, когда эти данные хранятся в базе данных и отображаются позже, форматирование верное.Заменить разрыв строки с тегом <br /> перед отправкой формы?
<form action="index.php" method="post" name="add" enctype="multipart/form-data">
<p id="bio" style="display:none;"><label class="left">Bio</label><textarea name="bio" rows="10" cols="50" class="contact"></textarea></p>
<p class="submit" style="text-align:center;"><input type="submit" name="add" value="Submit" /></p>
</form>
Я знаю, что мне нужно использовать str_replace, но я просто не знаю, где его использовать. Я думаю, что я запутался в том, когда введенная информация будет отформатирована.
Применение форматирования на клиенте - плохая идея. Хранение форматированных данных (вместо необработанных данных) в базе данных является плохой идеей (за исключением кеша). Разрешить HTML в адресе является плохой идеей (это делает вас уязвимыми для XSS-атак, если вы не используете относительно дорогостоящую фильтрацию (по сравнению с просто избеганием текста)). Добавьте элементы '
', когда вы вставляете адрес в HTML и делаете это с кодом сервера. – Quentin
Эта форма находится на стороне администратора и эта веб-страница является безопасной и может быть доступна только людям, у которых есть разрешения. Я просто хочу, чтобы любые разрывы строк были заменены на теги
. [ЭТО] (http://stackoverflow.com/questions/2813071/remove-line-breaks-and-add-br-tags-in-php) - это то, что я хочу, но я просто не знаю, когда и как применять Это. – user2441391
Вы не просто доверяете людям, чтобы не быть злыми, вы также доверяете им не ошибаться. Сделайте это на стороне сервера. Это то место, где вы (или, по крайней мере, должны) делать все свое преобразование в HTML уже, так что делайте это в одном месте. – Quentin