Хранение ™ в базе данных, а также учет объекта - PullRequest
0 голосов
/ 24 января 2019

У меня возникла проблема при сохранении & trade; / & copy; символ в моей базе данных.

Основная проблема заключается в том, что некоторые люди просто вставляют символ (™, ©), тогда как другие пользователи используют правильный безопасный код HTML (™, ©)

Эта проблема возникает при попытке использовать htmlentities для преобразования символов в правильный код, как если бы они использовали ™, эта функция преобразует его в ™.

Кто-нибудь знает решение этой проблемы?

Например, определить, использовался ли объект, и если да, то я могу использовать htmlentities для его преобразования.

1 Ответ

0 голосов
/ 24 января 2019

Во-первых, установить ожидания .

Ваш код должен ожидать либо простой текст, либо HTML.Ваша документация должна указывать пользователям, которые.

Во-вторых, позволяют людям исправлять ошибки .

Если пользователь вводит ™ в поле, которое ожидает простой текст, тогда онследует рассматривать как &trade.

Показывать пользователю предварительный просмотр.

Разрешить им редактировать его после отправки.

Попытка использовать эвристику, чтобы угадать, хотел ли пользователь™ или приведет к ложным срабатываниям.Так что не надо.

Наконец, мы не живем в 1980-х годах. У нас теперь есть Unicode .Нет необходимости кодировать как ™.Так что, если вы принимаете HTML, просто отобразите без его кодирования.

...